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

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

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

int main() {    pid_t pid;    int a = 5;    pid = fork();    if(pid == 0)        printf("This is the son process, a = %d\n", a - 1);    else        printf("This is the dad process, a = %d\n", a + 1); } 在UNIX操作系统中正确编译链接后执行,其运行结果是

This is the son process, a = 4
This is the dad process, a = 6

This is the son process, a = 4

This is the dad process, a = 6

This is the dad process, a = 4
This is the son process, a = 6


答案


This is the son process, a = 4
This is the dad process, a = 6


解析


在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据、堆栈段、以及用户栈,fork函数被调用一次,却返回两次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2份,初始值都是5,程序运行后子进程输出a = 4,父进程输出a = 6。故本题答案选择A选项。涉及考点为第3章进程线程模型。


转载请注明出处。

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

相关文章

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

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

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

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

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

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

[12][5][单选]进程有三种基本状态,在允许抢占并采用高优先级优先调度算法的系统中,一个进程从就绪状态转换为运行状态的可能事件是

该进程创建完成进入就绪队列并具有最高优先级该进程等待从键盘上读取用户数据该进程的优先级由于某种原因被...

[12][6][单选]进程控制块PCB的内容一般可以分成调度信息和现场信息两大部分,下列哪一个属于现场信息

当前状态存储信息优先级程序状态字答案程序状态字解析进程控制块PCB的内容一般可以分成调度信息和现场信...

[12][7][单选]某4核处理器的计算机系统中共有50个进程,那么,处于运行状态的进程最多有几个

45010答案4解析由题目可知计算机系统中处理器是4核心的,也就是意味着同时可以执行4个进程的指令,...