网红脸找茬:c语言设计v

来源:百度文库 编辑:高校问答 时间:2024/05/05 05:40:50
??(32) 有以下程序
??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
谁能说明一下个行的意思
说的越详细越好

我也同意s[2]=0
原因如下:由于定义了*s和x[8],则s和x都应表示指向地址和指针,
s=x+3,表示s的地址是x的所指地址加上3,也就是x[2]的位置,
而s[2]又从s的起始位置向前移3个位置(s[2]表数组中第3个数),即是
x[5]=0.完毕。
不知是否同意我的观点。

选择B
s=x+3使S指向x[3],s[2]为0