main()
{
int i = 10, j=10;
int a = ++i+j++;
int b = j--;
printf("%d ,%d\n", a, b); //显然,此处输出为 21 ,11
}
但是以下代码:
main()
{
int i = 10, j=10;
printf("%d ,%d\n", ++i+j++, j--);
//此处在 Linux ( Debian9) 使用 GCC
//以及 Windows 下使用 code blocks (应该是 MinGW 的 gcc )输出是 20,10 ;
//而在 macOS ( Mojave )下使用 gcc,输出是 21,11
}
这是为什么?我原本自己推测也应该是 21,11