[8][9][单选]对于如下 C 语言程序
int main() { printf("Hello World\n"); fork(); printf("Hello World\n"); }
在 UNIX 操作系统中正确编译链接后,其正确的运行结果是
共打印出 2 行 Hello World
共打印出 3 行 Hello World
共打印出 4 行 Hello World
共打印出 5 行 Hello World
答案
共打印出 3 行 Hello World
解析
计算机程序设计中的 fork(函数的返回值:若成功调用一次则返回两个值,子进程返回 0,父进程返回子进程标识;否则,出错返回 -1。在调用进程之前输出 1 行 Hello World,假设程序正确运行并父子进程都成功,那么,子进程为 0,父进程为进程号,故输出 3 行 Hello World。故本题答案选择共打印出 3 行 Hello World 选项。涉及考点为第 3 章 进程线程模型。
转载请注明出处。