不同的C编译器有不同的参数传递规则吗?

时间:2013-07-21 15:20:27

标签: c compiler-construction

#‎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 11 11 in 16 bit turbo c编译器。 差异C编译器是否有不同的参数传递规则?

1 个答案:

答案 0 :(得分:1)

请阅读comp.lang.c FAQ,表达式。

  

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

     

int i = 7; printf(“%d \ n”,i ++ * i ++);

     

打印49.无论评估顺序如何,都不应打印   56?