最近我遇到了一个理解printf()
函数行为的问题。
这就是我正在使用的
#include<stdio.h>
int main(){
int a=5;
printf("%d %d %d",a++,a++,++a);
return 0;
}
当我在 gcc (linux) 上运行此代码片段时,我得到的输出为7 6 8
. 但是在 turbo (windows) 上运行它时,我得到的输出为7 6 6
.
我的理解是在 turbo 中,参数以从右到左的顺序传递。
任何人都可以解释它是如何使用 gcc 在 linux 中工作的。