C语言 定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y...

发布网友 发布时间:2024-10-23 23:30

我来回答

1个回答

热心网友 时间:2024-10-30 22:10

这好解释啊,因为++是后++,要等到把(*--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;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com