x为什么等于2呢?

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:50:07
int x,y;
x=y=2;
if(x==1)
if(x==2)
printf("x=%d\n",x=x+y);
else
printf("x=%d\n",x=x-y);
printf("x=%d\n",x);

int x,y;
x=y=2;
if(x==1) 单分支if语句 无else 因为x=2,条件不成立 不执行下面的if-else语句
---if(x==2)-------------------------------|
-----printf("x=%d\n",x=x+y);----------|这是一对if-else
---else-----------------------------------|
-----printf("x=%d\n",x=x-y);----------|

printf("x=%d\n",x); 程序只执行这句 输出原来的x值 x为2

因为x=y=2 的意思就是x=2 y=2 啊

printf("x=%d\n",x=x+y); 的这句话是改变不了x的值的