[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/11/25 01:57:27
[C]大家帮我看看这个结果为什么是2 0 1int a=1 printf(
xՒNP_!1PpccID*7 M,˜9sZP ;7 hajnj"}P#FiZ;_ R'DXm;NENЇ˹'9lw }P94gٹiFcnqN? Z5uFl=ےm{"vIա%ZU`6mĕZ%:*@ntE$ZŧČ>7@),㭏E{1QpW;1d(&ccA3nmJ9|)J^_0+Hp-Ho'KNx\ Ѧ&2-18XCGrs^јUiYfZl?ƃfNv![DŽ6""C!

[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);