-2
#‎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 编译器是否有不同的参数传递规则?

4

1 回答 1

1

请阅读comp.lang.c 常见问题解答,表达式。

问:在我的编译器下,代码

诠释 i = 7; printf("%d\n", i++ * i++);

打印 49。不管评估顺序如何,不应该打印 56 吗?

于 2013-07-21T15:26:58.213 回答