问题
单项选择题
有以下程序:
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。