若有函数原型:void f(int, int *); 和变量声明:int a =2, *p = &a; 则下列函数调用正确 的是( )。
A. f(a, *p);
B. f(*p, a);
C. f(a, &p);
D. f(*p, &a);
查看答案
以下函数的返回值是( )。 char *fun(char * p) { return p; }
A. p 自身的地址值
B. p[0]这个字符
C. p 指向的地址值
D. 无意义的值
若有:int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p = a; 则数值为 6 的是( )。
A. *p + 6
B. p + 5
C. *(p + 6)
D. *p += 5
设 p 和 q 是指向同一个 int 类型数组的指针变量且 q>p,k 为 int 类型的变量,则正确 的表达式是( )。
A. k = *(p + q)
B. k = *(q - p)
C. p + q
D. k = *p * (*q)
若有:int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = &a[0], i; 其中 0≤i≤9,则对 a 数组元 素不正确的引用是( )。
A. p[i]
B. *p
C. a[10]
D. *(&a[i])