当前位置:首页 > 4444临时 > 正文内容

[14][9][单选]对于如下C语言程序

4444临时3个月前 (02-02)

int main(

{

int i;

for (i = 0; i < 3; i++

{


fork(;


printf("Hello World\n";

}

}


答案

共打印出14行Hello World


解析在UNIX类操作系统中,父进程通过调用fork(函数创建子进程,fork(函数执行的特点是:调用一次,返回两次,两次从当前位置开始执行;即在父进程中调用fork(函数:    当第一次时,调用fork(函数创建一个子进程,此时父进程A,子进程B都接着执行printf(函数,输出2行Hello World;    接着父子进程的变量i自增为1,接着执行fork(循环,父进程A接着创建自己的子进程C,子进程B也创建自己的子进程D,接着4个进程A、B、C、D都执行printf(函数,再次输出4行Hello World;    接着父子进程的变量i自增为2,接着执行fork(循环,父进程A接着创建自己的子进程E,子进程B也创建自己的子进程F,子进程C也创建自己的子进程G,子进程D也创建自己的子进程H,接着8个进程A、B、C、D、E、F、G、H都执行printf(函数,再次输出8行Hello World;    最后程序执行结束。所以该程序总共会输出14行Hello World,故选择D选项。

【涉及考点】

第3章 进程线程模型


转载请注明出处。

本文链接:http://pythonopen.com/?id=6303

相关文章

[12][2][单选]系统调用与一般过程调用是不同的,下列对它们的调用程序和被调用程序的描述中,哪一个是正确的

过程调用和系统调用的调用程序和被调用程序均位于核心态过程调用和系统调用的调用程序和被调用程序均位于用...

[12][3][单选]处理器中对用户可见的存储器是

程序状态字寄存器数据寄存器程序计数器指令寄存器答案数据寄存器解析处理器一般包括两类寄存器:一类称为用...

[12][4][单选]中断是指CPU对系统中或系统外发生的异步事件的响应,中断源是指

引起中断的那些事件中断控制器向处理器发出的信号正在执行的程序的暂停点使处理器暂停当前程序而去处理中断...

[12][8][单选]当使用进程创建原语创建进程时,下列哪一个选项表示创建的顺序是正确的

申请PCB,填写PCB,放入运行队列申请PCB,填写PCB,放入就绪队列申请PCB,申请内存,填写P...

[12][9][单选]对于如下C语言程序

int main({pid_t pid;int a = 1;pid = fork(;if(pid =...

[12][10][单选]对于如下C语言程序

void *th(void *arg{printf("Hello World";...