这个陈述的正确输出是什么?

时间:2013-08-29 13:11:28

标签: c printf

int a=9,b=6,c=3;
printf("%d%d%d");

我在代码块10.05中执行了此操作。我有一些垃圾值。但在一个网站上,输出结果为3 6 9.正确的是什么?

3 个答案:

答案 0 :(得分:3)

您将获得垃圾值,因为您没有为printf()调用提供任何参数。

正确的代码是

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

(以引用的顺序获取数字)

答案 1 :(得分:2)

正确的一个都不是你描述的两个。由于没有值传递给printf,因此只传递格式化程序,当时堆栈中的任何内容(未定义)都会被传递。

答案 2 :(得分:0)

  

此声明的正确输出是什么?

此代码调用未定义的行为,因此没有正确的输出。输出未定义。

代码调用未定义的行为,因为传递给printf的格式字符串要求您传递的参数(3)比提供的更多(0)。