结果为24 21 9,是那里的a=3没有被替代吗?为什么那里的a=3不会被替代为a=21,然后结果不应该是24 21 44吗?
但是第二张图里的a=3为什么又会被替代了?搞不懂,求大佬指点
结果为24 21 9,是那里的a=3没有被替代吗?为什么那里的a=3不会被替代为a=21,然后结果不应该是24 21 44吗?
但是第二张图里的a=3为什么又会被替代了?搞不懂,求大佬指点
这个我不知道怎么说,我在网上看到一个博主写的文章,我把你这个问题学会了,我把他的链接分享给你,
printf函数输出时表达式的计算顺序问题_迷路的野马的博客-CSDN博客
printf函数输出时表达式的计算顺序问题以下纯属个人看法,如有理解错误请各位大佬指正,谢谢!话不多说直接上代码看注释!!!代码.#include <stdio.h>/* printf函数 从右往左运算,运算完毕后,依次从左往右代入各值。 在代入各数值时,只有当计算完的值不再是赋值状态时,直接代入运算后得到的值,如果是赋值状态,则要看最左边赋予的值是多少,输出便是多少。 ++a可以看成a=a+1; 假如a=0,a++可以看成0;*/int
https://blog.csdn.net/weixin_45715146/article/details/119885963
他写的挺详细的希望你能看懂