我在查明为什么这段代码在linux和windows中显示不同的结果时遇到了一些麻烦:
#include <stdio.h>
int main()
{
int x=2;
x = 4 * x++;
printf("%d\n", x);
return 0;
}
在linux中它显示8
(我认为这在逻辑上是正确的)。在Windows中,它显示9
。是因为在语句完成执行后而不是在评估时完成增量?对于预增量也会发生同样的事情。
注意:在linux中我使用gcc,在windows中我使用的是mingw(codeblocks)。