我的C代码是:
void main()
{
int a=5,b=6,c=11;
clrscr();
printf("%d %d %d");
getch();
}
当我编译它时,它给出了编译时错误,但这个问题的答案是:11 6 5
我无法理解输出是如何输出的11 6 5
请有人通过正确的解释告诉正确的输出。
由于
答案 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