[26][9][单选]对于如下 C 语言程序:
int main( { fork(; fork(; printf("hello\n"; fork(; printf("hello\n"; } 该程序经正确编译链接并运行成功后,其运行结果将打印多少行“hello”?
16
20
10
4
答案
20
解析
计算机程序设计中的 fork(函数的返回值:若成功调用一次则返回两个值,子进程返回 0,父进程返回子进程 ID;否则,出错返回 -1。第一次调用 fork(产生 2 个进程,第二次调用 fork(产生 4 个进程,第一次 printf(会打印 4 次“hello”,第三次调用 fork(产生 8 个进程,第二次 printf(会打印 8 次“hello”,所以一共会打印 20 次“hello”。
转载请注明出处。