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