[6][9][单选]分析下列程序:
int main() { printf("Hello"); fork(); printf("Hello"); fork(); printf("Hello"); fork(); printf("Hello"); }
不考虑其他因素,程序正常运行后共打印出多少个“Hello”
15
11
7
4
答案
15
解析
计算机程序设计中的 fork(函数返回值:若成功调用一次返回两个值,子进程返回 0,父进程返回子进程 ID;否则,出错返回 -1。在 main(之前,输出 1 个 Hello;第一个 fork(函数调用后将有 2 个进程,输出 2 个 Hello;第二个 fork(函数调用后将有 4 个进程,输出 4 个 Hello;第三个 fork(函数调用后将有 8 个进程,输出 8 个 Hello,总计为 15 个 Hello,故本题答案选择 15 选项。涉及考点为第 3 章进程线程模型。
转载请注明出处。