单选题
1分
对于如下C语言程序int main(){int i;for ( i = 0; i < 2;i++){fo...
对于如下C语言程序
int main()
{
int i;
for ( i = 0; i < 2;i++)
{
fork();
printf("Hello World\n");
}
}
在UNIX操作系统中正确编译链接后,其运行结果为( )。
int main()
{
int i;
for ( i = 0; i < 2;i++)
{
fork();
printf("Hello World\n");
}
}
在UNIX操作系统中正确编译链接后,其运行结果为( )。
参考答案: C
参考解析: C【解析】在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,fork()函数执行的特点是:调用一次,返回两次,子进程从当前位置开始执行;程序在for循环中调用fork()函数,当i为0时,调用fork()函数创建一个子进程,此时父进程A、子进程B都接着执行printf()函数,输出两行Hello World;接着父子进程的变量i自增为1,接着执行for循环,父进程A接着创建自己的子进程C,子进程B也创建自己的子进程D,接着四个进程A、B、C、D都执行printf()函数,再次输出四行Hello World,最终程序执行for结束,所以本题程序总共输出6行Hello World,答案为C。