请教一个关于c语言自增的问题

img


为什么后两个不是
6乘6=36
和6乘7=42啊

img


注意看 后两个没啥说的
第二个 先算乘号左右两端 所以自增变6 自增变7 7*7 49
第一个 仔细看这里 先算乘号左右两端 ++a 变 6 右侧 a++就是6 然而++a是先做运算后取值 所以此时的值是7 而右面的是先取值了 所以是7 * 6 42

别写这种代码,C语言没有规定操作数的计算顺序,不同编译器得到的结果可能不同