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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.