#include<stdio.h>
int main(void)
{
int a=10;
printf("%d, %d, %d\n", a, a++, ++a);
return 0;
}
这显示了 32 位 gcc 编译器中的 12 11 12 和 16 位 turbo c 编译器中的 12 11 11 。不同的 C 编译器是否有不同的参数传递规则?
#include<stdio.h>
int main(void)
{
int a=10;
printf("%d, %d, %d\n", a, a++, ++a);
return 0;
}
这显示了 32 位 gcc 编译器中的 12 11 12 和 16 位 turbo c 编译器中的 12 11 11 。不同的 C 编译器是否有不同的参数传递规则?
请阅读comp.lang.c 常见问题解答,表达式。
问:在我的编译器下,代码
诠释 i = 7; printf("%d\n", i++ * i++);
打印 49。不管评估顺序如何,不应该打印 56 吗?