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

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

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

int main( {    pid_t pid;    int a = 20;    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=19 This is the dad process, a=21

This is the son process, a=18

This is the dad process, a=22

This is the dad process, a=19 This is the son process, a=21

答案

This is the son process, a=19 This is the dad process, a=21


解析

在 UNIX 类操作系统中,父进程通过调用 fork(函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据、堆栈段、以及用户栈,fork 函数被调用一次,却返回两次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量 a,在父进程和子进程中存在 2 份,初始值都是 20,程序运行后子进程输出 a = 19,父进程输出 a = 21。

涉及考点:第 3 章 进程线程模型


转载请注明出处。

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

相关文章

[12][21][单选]下列哪一项是执行打开文件操作时由操作系统返回的

文件名文件号文件描述符文件物理位置答案文件描述符解析执行打开文件操作时由操作系统返回的信息是文件描述...

[12][26][单选]利用缓冲技术进行设备管理的主要目的是

加速数据传输预防死锁发生匹配高速和低速设备连接不同种类的设备答案匹配高速和低速设备解析缓冲技术是为了...

[12][27][单选]用户进程在等待鼠标点击输入时,不断检测对应接口寄存器的完成位是否为1,该I/O设备控制方式称为

中断控制方式程序直接控制方式DMA方式通道控制方式答案程序直接控制方式解析程序直接控制方式是指由用户...