无法理解我的C程序的正确输出

时间:2013-12-01 18:24:16

标签: c output

我的C代码是:

void main()
{
int a=5,b=6,c=11;
clrscr();
printf("%d %d %d");
getch();
}

当我编译它时,它给出了编译时错误,但这个问题的答案是:11 6 5

我无法理解输出是如何输出的11 6 5

请有人通过正确的解释告诉正确的输出。

由于

3 个答案:

答案 0 :(得分:2)

其行为未定义。如果你想显示a,b和c的值,你应该编码如下:

  

printf("%d%d%d",a,b,c);

现在的输出是:

5 6 11

答案 1 :(得分:1)

程序具有未定义的行为,因为printf格式字符串要求您传递另外三个int参数,而您没有这样做。什么事情都可能发生。打印某些输出是“任何东西”的一种形式。

答案 2 :(得分:0)

程序的行为未定义。你什么都得到了。

在期望三个printf类型参数时,您没有向int函数传递任何参数。声明

 printf("%d %d %d",c, b, a);  

会给你想要的输出。

11 6 5