非计算机专业的老师讲到C/C++中,i=2时,(++i)+(++i)+(++i)+(++i)的计算结果的时候,给出的答案是19。我感到很困惑,按照正常的计算逻辑结果应该是18,于是我到菜鸟教程的在线编译器上面试了一下,得到的结果是18,后来又在Xcode上试了一次,得到的结果也是18,更换了ACM竞赛专用的codeblocks编译,结果是19。
贴出代码:
#include "stdio.h"
int main() {
int i=2;
int sum=(++i)+(++i)+(++i)+(++i);
printf("%d\n", sum);
}
由此产生了一个疑问,是什么样的原因导致了这个差异?计算出19