我刚刚尝试知道输出而不提供变量而只是%d并且编译程序时没有错误,但我想知道输出如何显示如下。
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
输出变为7288368
答案 0 :(得分:0)
“为什么格式化输入输出需要提供变量?”
因为printf
的实施要求如此。来自manual page of printf
:
“每个转换规范都由字符%引入,并以转换说明符结尾......参数必须与转换说明符正确对应(在类型提升后)。”< / em>的
您使用了"%d"
格式字符串,它需要一个适合十进制转换的整数参数,但您没有提供任何参数,这会导致 未定义的行为 < /强>