单选题
8.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”);
}
【正确答案】
C
【答案解析】fork()函数执行的特点是,只被调用一次,却会返回两次,一次是在调用进程(父进程)中,一次是在新创建的子进程中。在父进程中,fork()返回子进程的pid。在子进程中,fork()返回0。否则出错返回-1。假设程序正确运行并创建子进程成功,那么,子进程中pid得到返回值为0,父进程中pid得到返回值为子进程号,父进程执行一次输出,子进程执行一次输出,故输出2行Hello World。故本题答案选择C选项。