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

对于如下 C 语言程序

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



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

共打印出 6 行 Hello World

共打印出 7 行 Hello World

共打印出 8 行 Hello World

共打印出 9 行 Hello World


答案    

共打印出 7 行 Hello World




解析    

初始打印1行。

第一次 fork() 后,两个进程(P1和C1)各自打印第2行,累计3行。

第二次 fork() 发生在P1和C1上,形成P1、C1、P2(P1的子进程)、C2(C1的子进程),共4个进程。之后,这4个进程各自打印第3行。

因此,最终打印次数为:


初始1行 + 第一次fork后2行 + 第二次fork后4行 = 1 + 2 + 4 = 7行。

正确答案是:共打印出 7 行 Hello World。


相关文章

在不同类型的操作系统中,批处理操作系统的缺点是

缺少交互性不能并发运行CPU利用率低周转时间长答案    缺少交互性解析...

采用多道程序设计技术,能有效地提高系统的下列哪一个性能

并发灵活可靠兼容答案    并发解析    采用多道...

在组成计算机系统的各类资源中,主要包含有硬件部件以及

代码和数据键盘鼠标和显示器操作系统各类应用软件答案    代码和数据解析...

操作系统能够“合理”地组织计算机工作流程、控制程序的执行。其中“合理”是指

尽可能地利用资源,减少内存、硬盘等的浪费使得用户在操作计算机时易用、易学且易维护公平对待不同用户程序...

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

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

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

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