[1][8][单选]UNIX操作系统中,fork()系统调用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕的正确结果是
main() { pid_t pid; pid = fork(); if (pid == 0) printf("Hello World\n"); else if (pid > 0) printf("Hello World\n"); else printf("Hello World\n"); }
什么都没有
1 行 Hello World
2 行 Hello World
3 行 Hello World
答案
2 行 Hello World
解析
fork(函数执行的特点是,只执行一次,却返回两次,一次是在父进程中,一次是在新创建的子进程中。在父进程中,fork(返回子进程的 pid,在子进程中,fork(返回 0。因此会输出两行 Hello World,故本题答案选择 C 选项。涉及考点为第 3 章进程线程模型。
转载请注明出处。