【发布时间】:2017-07-30 03:13:33
【问题描述】:
根据我对fork() 的理解,这应该打印“Hello, World!”一次,因为在调用fork 之前只有一个进程。但是,它会打印两次。奇怪的是,如果我在字符串中添加\n 或使用puts() 而不是printf(),它只会打印一次。
#include<unistd.h>
#include<stdio.h>
int main() {
printf("Hello, World!");
fork();
}
【问题讨论】:
-
布赖恩,请在询问之前使用搜索。许多问题已经有了答案。
-
@2501 我做到了。我可能没有使用正确的术语。我还查看了在我输入问题时可能回答我的问题的最佳建议。
-
尝试使用第三方搜索引擎,缩小本站的搜索范围。
-
@2501 这就是我使用的。我想我没有将
printf作为一个术语,因为我没有意识到这是一个printf问题;我假设fork之前的所有内容都运行了两次。 -
我认为这是一个比链接副本更好(更清晰)的问题,并且会为这个问题提供一个很好的规范版本。