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

2024-12-03 01:55:35
推荐回答(3个)
回答1:

p=&a[2], p指向了a的下标为2的元素,C语言的数组下标是从0开始的,下标为2指的是第三个元素,2,++(*p)将该元素增加1,2+1=3

回答2:

a
因为
p+=2

p=0+2
,指的是数组中的第二个元素。而*(p++)
是p+1
,*(p++)表示第三个元素的值。故选a。

回答3:

int a[4]={0,1,2,3},*p;
p=&a[2]=2;
再执行(*p)=2;
之后++(*p)=3;