若有定义 int x=3,y;则执行语句y=(x++)+(x++)+(x++);y是多少?为什么

答案是怎么得出来的,详解,谢谢

12。x++这个语句是先赋值,后加加。所以y = 3 + 4 + 5;执行完代码后,y = 12,x = 6追问

先赋值再加加,不应该是3+3+3吗

追答

x++ 三遍是执行了三次,所以是 3 + 4 + 5

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-28
#include <stdio.h>

void main()
{
    int x=3, y;
    y=(x++)+(x++)+(x++);    

    printf("x is %d, y is %d\n", x, y);
}

x++ 是先使用x,然后再++.
所以y=(x++)+(x++)+(x++)=3+3+3;
之后x=6

本回答被网友采纳
第2个回答  2017-08-28
y = 3+3+3 = 9。
计算 y 之后,x自加三次,得到 x==6。
第3个回答  2020-04-07