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

我在代码块 10.05 中执行了这个。我得到了一些垃圾值。但是在网站中,输出为 3 6 9。正确的是什么?

4

3 回答 3

3

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

正确的代码是

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

(按引用顺序获取数字)

于 2013-08-29T13:13:08.403 回答
2

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

于 2013-08-29T13:13:27.317 回答
0

该语句的正确输出是什么?

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

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

于 2013-08-29T13:14:24.227 回答