在程序1中Hello world
仅被打印一次,但是当我删除 \n
并运行它(程序2)时,输出被打印8次。有人可以给我解释一下\n
这里的意义以及它如何影响fork()
吗?
程序1
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("hello world...\n");
fork();
fork();
fork();
}
输出1:
hello world...
程序2
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("hello world...");
fork();
fork();
fork();
}
输出2:
hello world... hello world...hello world...hello world...hello world...hello world...hello world...hello world...
./prog1 > prog1.out
)或管道(./prog1 | cat
)。准备振作起来。:-)