PTA之指针错误
1.
以下正確的說明語句是(D )。
A.int *b[ ] = {1, 3, 5, 7, 9};
B.
int a[ ] = {1, 3, 5, 7, 9};
int *num[5] = {a[0], a[1], a[2], a[3], a[4]};
C.
int a[3][4], (*num)[4];
num[1] = &a[1][3];
D.
int a[5], *num[5] = {&a[0], &a[1], &a[2], &a[3], &a[4]};
A.指針數組,不能賦值整型數
B.指針數組num[],a[0]為int
C.
2.
對于以下變量定義,正確的賦值是(C)。
int *p[3], a[3];
A.p = a
B.*p = a[0]
C.p[0] = &a[0]
D.p = &a[0]
A.數組名p就是一個二級指針,即p[0]的地址。a=&a[0]
B.*p=p[0],y=一級指針
D.&a[0]一級指針
3.
下面程序的運行結果是(2,4)。
#include<stdio.h>
int main(void)
{int x[5] = { 2, 4, 6, 8, 10 }, *p, **pp;p = x;pp = &p;printf("%d ", *(p++)); /* 數字后有一個空格 */printf("%d\n", **pp);return 0;
}
*(p++),用p++?表達式計算
4.
設有以下程序段,若?k?為?int?型變量且?0≤k<4,則對字符串的不正確引用是(D )。
char str[4][10] = {"first", "secone", "third", "fourh"}, *strp[4];
int i;for(i = 0; i < 4; i++){strp[i] = str[i];
}
A.strp[k]
B.*strp
C.str[k]
D.strp
B.*strp=*(&strp[0])
D.strp=&strp[0],二級指針
總結
- 上一篇: 函数指针(就做个笔记)
- 下一篇: 格式化输入输出(待更新)