【发布时间】:2021-06-30 16:23:09
【问题描述】:
我们都知道基本的 Hello World 程序:
#include <stdio.h>
int main() {
printf("Hello World!");
return 0;
}
这将打开一个命令提示符并向我们显示“Hello, World”消息。
我的问题是:为什么?例如,为什么消息显示在命令提示符中而不是记事本中?为什么不作为 Windows 通知?为什么它专门是命令提示符而不是其他东西?
【问题讨论】:
-
因为历史上 C 存在于除了终端之外的任何东西之前,所以终端是放置
stdout文本的默认位置?如果没有就放置位置达成明显共识,则将其放置在其他任何地方都需要就放置位置达成一致。 -
stdout指向终端,所以它会输出到终端。您可以使用文件处理函数执行类似的操作以输出到文件,但printf将输出到终端(或任何输出屏幕)。 -
你错了。 程序不会打开命令窗口。如果在您运行程序时打开这样一个窗口,那是因为操作系统打开它是为了为程序的标准流提供一个终点。