-6
我刚刚试图知道输出没有提供变量,而只是%d,并且在编译程序时没有错误,但我不知道如何显示如下输出。为什么格式化输入输出需要提供变量?
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
输出成为7288368
我刚刚试图知道输出没有提供变量,而只是%d,并且在编译程序时没有错误,但我不知道如何显示如下输出。为什么格式化输入输出需要提供变量?
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
输出成为7288368
“为什么格式化输入输出需要变量要被提供?”
因为执行printf
要求如此。从manual page of printf
:
“的每种转换规范由字符%引入,并且用转换指定结束...与转换说明必须对应正确(类型提升后)的参数”。
您已经使用"%d"
格式字符串,预计相应的十进制转换一个完整的说法,但你没有提供任何参数,这导致了未定义的行为
这是不确定的行为。 –
取决于编译器和您设置上述警告标志可能会弹出警告。 –
GIGO。垃圾进垃圾出。 – ppeterka