当前位置:首页 > 文章 > 四级网络工程师 > 正文内容

对于如下 C 语言程序

四级网络工程师3个月前 (06-19)
int main()
{
int i;
for ( i = 0; i < 3;i++)
{
fork();
printf("Hello World\n");
}
}



在 UNIX 操作系统中正确编译链接后,其运行结果为


共打印出 8 行 Hello World

共打印出 10 行 Hello World

共打印出 12 行 Hello World

共打印出 14 行 Hello World


答案    

共打印出 14 行 Hello World



解析    

程序的执行流程如下:


循环将执行3次,每次循环内部都会调用fork()函数。

第一轮循环:创建第一个子进程,此时有父进程和子进程,共2个进程,每个进程打印一次"Hello World",合计打印2次。

第二轮循环:每个现有的进程(父进程和第一轮产生的子进程)又各自调用fork(),因此进程总数变为4个,每个进程再次打印一次"Hello World",合计再打印4次。

第三轮循环:每个现有的4个进程再次各自调用fork(), 进程总数变为8个,每个进程打印一次"Hello World",合计再打印8次。

综上所述,每次循环后进程数翻倍,且每次循环中的每个进程都会打印一次"Hello World"。因此,总打印次数为:


2(第一轮)+ 4(第二轮)+ 8(第三轮)= 14次。


所以,正确的运行结果是:


共打印出 14 行 "Hello World"

相关文章

现代操作系统的基本特征是

并发性顺序性封闭性并行性答案    并发性    (扩展...

从计算机安全保护角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础平台第一道安全防线虚拟机和扩展机答案    第一道安...

从计算机系统发展角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础第一道安全防线虚拟机和扩展机答案    虚拟机和扩展...

在操作系统中建立了用于记录各种软硬件资源信息的数据结构,该数据结构的用途是

提供系统软件编程工具所必须的资源了解用户需求和当前资源使用情况,对资源进行有效组织管理提供为用户服务...

操作系统是一个可以从多视角考察的软件系统。下列关于操作系统的叙述中,哪一个是错误的

从应用角度看,操作系统是人机交互的接口从软件设计和开发的角度看,操作系统是一个应用软件从网络攻击者角...

操作系统是一个可以从多视角考察的软件系统。下列关于操作系统的叙述中,哪一项是错误的

从应用角度看,操作系统是一个工具软件从软件设计和开发的角度看,操作系统是一个基础软件和工具软件从网络...