c语言中++i怎么用

img


请问这个q为什么等于19
为什么不是5+6+7=18
请各位帮忙解答一下,谢谢

这种题目你考虑他干啥,以后绝对用不到

别纠结这个,不同编译器得到不同的结果,研究透了也无现实意义。

可能是编译器把原来的语句拆开了执行:
q=(++j)+(++j); //12
q=q+(++j);//19
这种复杂的操作尽量少用,阅读有困难,执行结果还依赖编译器。
其他编译器,还可能拆为:
q=(++j);//5
q=q+(++j);//11
q=q+(++j);//18