考虑增量运算符,以下程序的输出是什么

时间:2014-09-13 02:06:00

标签: c undefined-behavior

我是c编程的初学者我正在尝试一些东西,但是无法正确理解

#include<stdio.h>
int main()
{
    int x=5,y=10;
printf("%d %d %d %d\n",x++,y++,++x,++y);
}

1 个答案:

答案 0 :(得分:2)

此:

printf("%d %d %d %d\n",x++,y++,++x,++y);

没有明确定义的代码。原因是在C中,没有定义函数参数的评估顺序。因此它可以按任何顺序执行各种增量,因此我们无法说出输出应该是什么。代码有缺陷。