有以下程序: main() { int x[8]={8,7,6,5,0,0},*s; s=x+3; printf("%d\n",s[2]); } 程序运行后的输出结果是______。

admin2009-02-15  18

问题 有以下程序:    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

答案2

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

最新回复(0)