有定义“int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p = a;",则值为6 的表达式是( )。
A. *p + 6
B. *(p + 6)
C. *p += 5
D. p + 5
查看答案
设有定义“int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},*p = &a[3], b;”,则执行语句“b = p[5];”后变量b的值为( )。
A. 5
B. 6
C. 8
D. 9
下列叙述中错误的是( )。
A. 改变函数形参的值,不会改变对应实参的值
B. 函数可以返回地址值
C. 可以给指针变量赋一个整数作为地址值
D. 当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
以下程序的输出结果是( )。void f(int *q){int i = 0;for(; i < 5; i++) (*q)++;}int main(void){int a[5] = {1, 2, 3, 4, 5}, i;f(a);for( i = 0; i < 5; i++ ) printf("%d,", a[i] );return 0;}
A. 2, 2, 3, 4, 5
B. 6, 2, 3, 4, 5
C. 1, 2, 3, 4, 5
D. 2, 3, 4, 5, 6
下面程序输出数组中的最大值,由s指针指向元素,则括号中的条件应该是( )。int main(void){int a[10] = { 6, 7, 2, 9, 1, 10, 5, 8, 6, 3}, *p, *s;for( p = a, s = a; p - a < 10; p++)if() s = p;printf("The max:%d", *s);return 0;}
A. p > s
B. *p > *s
C. a[p] >a[s]
D. p-a > p-s