第1个回答 2020-04-19
x=y=1;
x=1;y=1;
z=x++,y++,y++;
z=x++;y++;++y;
z=x;x++;y++;++y;
z=x++,y++,++y;是一个逗号表达式;逗号的运算优先级是最低的,所以先运算z=x++;
而逗号运算式是从左向右算的也就是说z=x++,y++,++y;这个整体表达式其实就是++y当然与本题无关
第2个回答 2020-04-25
x=y=1;
x=1,y=1
z=x++,
z=2
y++,
y=2
++y;
y=3
所以
x=2,y=3,z=1
x++的意思就是
x=x+1
先用后加
++y的意思也是y=y+1
但是先加后用,
你这里没有区别,如果有循环的话有会看出区别了
第3个回答 2020-04-20
main()
{
int
x,y,z;
x=y=1;
z=x++,//z为1,x为2
y++,//y为2
++y;
//y为3
printf("%d,%d,%d\n",x,y,x);
}
故输出的结果为2,3,2
注:1.z=x++,y++,++y;是一个逗号表达式
2.要理解前自加与后自加的区别