问题 单项选择题

有以下程序:
main()

int x[8]=8,7,6,5,0,0,*s;
s=x+3;
printf("%d\n",s[2]);

程序运行后的输出结果是______。

A) 随机值
B) 0
C) 5
D) 6

答案

参考答案:B

解析: 本题定义了数组x[8]和指针变量s,由C语言规定,指针加1的含义是使指针指向数组的下一个元素,而不是指针值简单的加1,因此通过s=x+3;使s指向数组元素x[3]。由于指向数据的指针变量可以带下标表示,如s[i]与*(s+i)等价。因此题目要求输出s[2]的值,即*(s+2)的值,也就是x[5]的值,为0。

判断题
单项选择题