[15][9][单选]对于如下 C 语言程序
int main( { int i; for (i = 0; i < 2; i++ { fork(; printf("Hello World\n"; } } 在 UNIX 操作系统中正确编译链接后,其运行结果为
共打印出 2 行 Hello World
共打印出 4 行 Hello World
共打印出 6 行 Hello World
共打印出 8 行 Hello World
答案
共打印出 6 行 Hello World
解析
在 UNIX 系统中,父进程调用 fork(函数创建子进程,fork(函数调用一次返回两次。第一次循环,父进程调用 fork(后,父子进程都执行 printf,输出 2 行;第二次循环,父进程和第一次循环创建的子进程再次调用 fork(,此时共有 4 个进程执行 printf,输出 4 行,总共输出 6 行。
【涉及考点】
第3章 进程线程模型
转载请注明出处。