C语言 定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是
C语言 定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是
日期:2020-04-25 23:28:53 人气:1
这好解释啊,因为++是后++,要等到把(*--p)的值赋给y后(*--p)的值才会增1。所以结果是y=1,a[0]=2。你可以用下面的代码验证:
int main(void){
int a[ ]={1,2,3,4},y,*p=&a[1];
y=(*--p)++;
printf("%d %d\n",y,a[0]);
return 0;
}