A-A+

在16位编译系统上 若有定义int a[]={10 20 30} *p=&a; 少逗号当执行

2022-08-06 05:14:42 问答库 阅读 176 次

问题详情

在16位编译系统上,若有定义int a[]={10,20,30},*p=&a;,少逗号当执行p++;后,下列说法错误的是______。
A.p向高地址移了一个字节
B.p向高地址移了一个存储单元
C.p向高地址移了两个字节
D.p与a+1等价

参考答案

正确答案:A
解析:题目中p=&a表示指针p指向第—个元素a[0],执行p++是指使p指向下—个数据对象的地址,也就是向高地址移了—个存储单元;因为int数据占两个字节,所以p相当于向高地址移了两个字节,所以选项A错误。

考点:逗号,定义