-6

我刚刚尝试在不提供变量的情况下知道输出,而只提供 %d 并且编译程序没有错误,但我想知道输出如何显示如下。

#include <stdio.h>

int main()
{
    printf("%d");    
    return 0;
}

输出变成了 7288368

4

1 回答 1

0

“为什么格式化输入输出需要提供变量?”

因为执行printf诉求所以。从手册页printf

“每个转换规范都由字符 % 引入,并以转换说明符结尾......参数必须与转换说明符正确对应(在类型提升之后)。”

您使用"%d"了格式字符串,它需要一个适合十进制转换的整数参数,但您没有提供任何参数,这导致了未定义的行为

于 2013-10-01T10:47:42.817 回答