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