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

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

[19]2年前 (2025-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

相关文章

[19][1][单选]随机性是操作系统的特征之一。下列描述的四种现象中,哪一种具有“随机性”

进程在某一时刻需要显示图像信息进程申请使用计算机的内存操作系统维护系统的时钟操作系统内核进行进程切换...

[19][2][单选]下列哪一个状态位不包含在程序状态字(PSW)中

溢出标志位(OF)驻留位(A)虚拟中断待处理标志位(VIP)I/O特权级(IOPL)答案驻留位(A)...

[19][3][单选]中断和异常都是将正在执行的程序打断,完成相应处理后再恢复执行,但是二者是有区别的。下列各种事件中,哪一项属于中断

执行访管指令进程打开文件时出错用户按键盘左键程序对只读内存执行写指令答案用户按键盘左键解析中断是由外...

[19][4][单选]系统调用扩充了机器指令,增强了系统功能,方便了用户使用。下列哪一项不属于系统调用

将一个整型变量转换为字符型变量用户程序需要查看进程属性在磁盘上创建一个公共目录进程通过共享内存交换数...

[19][5][单选]线程是进程中的一个实体,是处理器调度和分派的基本单位。下列哪一项是线程拥有的必不可少的资源?

线程相关的用户栈占用的内存空间打开的文件占用的设备答案线程相关的用户栈解析线程自己基本上不拥有系统资...

[19][6][单选]在计算机系统中被创建的进程具有多种特性,所谓进程的“异步性”是指

进程运行时按系统时钟逐步推进不同进程交替占用处理器运行进程每一次的运行过程和结果均不同每个进程按照各...