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

admin2020-03-31  43

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

选项 A、共打印出2行Hello World
B、共打印出3行Hello World
C、共打印出4行Hello World
D、共打印出5行Hello World

答案D

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

最新回复(0)