.若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[2]; 则++(*p)的值是___3__。这个答案为什么不是2

如题所述

p=&a[2], p指向了a的下标为2的元素,C语言的数组下标是从0开始的,下标为2指的是第三个元素,2,++(*p)将该元素增加1,2+1=3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-22
a
因为
p+=2

p=0+2
,指的是数组中的第二个元素。而*(p++)
是p+1
,*(p++)表示第三个元素的值。故选a。
第2个回答  2013-06-19
int a[4]={0,1,2,3},*p;
p=&a[2]=2;
再执行(*p)=2;
之后++(*p)=3;