c语言中printf内的运算顺序

img

结果为24 21 9,是那里的a=3没有被替代吗?为什么那里的a=3不会被替代为a=21,然后结果不应该是24 21 44吗?

img

但是第二张图里的a=3为什么又会被替代了?搞不懂,求大佬指点

这个我不知道怎么说,我在网上看到一个博主写的文章,我把你这个问题学会了,我把他的链接分享给你,

他写的挺详细的希望你能看懂

应该是 printf里面先至左往右运算,最后按位置输出 吧。

printf里面从右往左运算,先算最后一个参数