对于如下C语言程序 int main() { printf("Hello World\n"); fork(); fork(); fork(); printf("Hello World\n"); } 在UNIX操作系统中正

admin2019-05-20  37

问题 对于如下C语言程序
  int main()
  {
  printf("Hello World\n");
  fork();
  fork();
  fork();
  printf("Hello World\n");
  }
  在UNIX操作系统中正确编译链接后,其正确的运行结果是(    )。

选项 A、共打印出6行Hello World
B、共打印出7行Hello World
C、共打印出8行Hello World
D、共打印出9行Hello World

答案D

解析 计算机程序设计中的fork()函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回一1。在创建进程之前输出1行Hello world。假设程序正确运行并创建子进程成功,第一个fork()函数调用后将有两个进程,第二个fork()函数调用后将有4个进程,第三个fork()函数调用后将有8个进程,所以共打印出9行Hello World。故本题答案选择D选项。
转载请注明原文地址:https://kaotiyun.com/show/Ly8Z777K
0

最新回复(0)