此问题已经在这里有了答案:
我今天尝试了一个代码,发现printf(“%d”)仍然有输出。在我的计算机上,输出为“ 1487504216”。我想知道为什么得到输出以及输出的含义。以下是我尝试过的代码。
#include <stdio.h>
int main()
{
printf("%d");
return 0;
}
printf("%d",...
期望下一个参数是要打印的数字。您没有向其传递参数,因此它只会从堆栈中获取下一个数据,并认为它是要打印的变量。因此,您读取了一些垃圾数据并打印出来...
printf
返回打印的字符数。在您的情况下,您会得到一个奇怪的数字,因为格式无效。 printf("%d", 74)
将返回2,因为它正在打印2个字符。