UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是( )。 main () { pid_t pid; pid=fork(); if

admin2021-03-19  30

问题 UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是(    )。
  main ()
  {
    pid_t pid;
    pid=fork();
    if(pid==0) printf(“Hello World\n”);
    else if(pid>0)printf(“Hello World\n”);
    else printf(“Hello World\n”);
    }

选项 A、什么都没有
B、1行Hello World
C、2行Hello World
D、3行Hello world

答案C

解析 fork()函数执行的特点是,只被调用一次,却会返回两次,一次是在调用进程(父进程)中,一次是在新创建的子进程中。在父进程中,fork()返回子进程的pid。在子进程中,fork()返回0。否则出错返回-1。假设程序正确运行并创建子进程成功,那么,子进程中pid得到返回值为0,父进程中pid得到返回值为子进程号,父进程执行一次输出,子进程执行一次输出,故输出2行Hello World。故本题答案选择C选项。
转载请注明原文地址:https://kaotiyun.com/show/v78Z777K
0

最新回复(0)