【发布时间】:2013-12-13 17:08:44
【问题描述】:
我刚刚在C 中制作了一个简单的演示程序,以查看fork() 的工作原理,并遇到了一些我不明白的东西。在这个例子中:
void fork2()
{
printf("A");
fork();
printf("B");
}
输出为ABAB,但在本例中:
void fork2()
{
printf("A\n");
fork();
printf("B\n");
}
输出是ABB(当然是单独的行)。第二个是有道理的,因为如果我正确理解fork(),它会产生一个新的孩子,在fork() 发生之后立即开始(在这种情况下为printf("B\n");)。我不明白的是,为什么当我包含换行符时输出会有所不同。
【问题讨论】: