[C]大家帮我看看这个结果为什么是2 0 1int a=1 printf("%d,%d,%d\n",a+2,a-=1,a++); a+2应该是3吧?反正我改成printf("%d\n",a+2);这样就是3.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 13:51:49
[C]大家帮我看看这个结果为什么是201inta=1printf("%d,%d,%d\n",a+2,a-=1,a++);a+2应该是3吧?反正我改成printf("%d\n",a+2);这样就是3.[

[C]大家帮我看看这个结果为什么是2 0 1int a=1 printf("%d,%d,%d\n",a+2,a-=1,a++); a+2应该是3吧?反正我改成printf("%d\n",a+2);这样就是3.
[C]大家帮我看看这个结果为什么是2 0 1
int a=1
printf("%d,%d,%d\n",a+2,a-=1,a++);
a+2应该是3吧?
反正我改成printf("%d\n",a+2);
这样就是3.

[C]大家帮我看看这个结果为什么是2 0 1int a=1 printf("%d,%d,%d\n",a+2,a-=1,a++); a+2应该是3吧?反正我改成printf("%d\n",a+2);这样就是3.
我在我机器上的运行结果就是3 1 1
你的原程序,一点都没变
你的那个结果是系统的原因,系统从后面往前面执行,a-=1之后,a就等于0了,当执行到a+2的时候自然是2了,你可以换一下它们的顺序输出.你就会明白了.
你可以在下面在加上printf("%d\n",a);