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

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

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

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

This is the son process, a=0

This is the dad process, a=2

答案

This is the son process, a=0

This is the dad process, a=2


解析

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


转载请注明出处。

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

相关文章

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

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

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

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

[12][28][单选]下列描述的现象中,哪一个是由于进程P1、P2因申请不同类资源而产生死锁的现象

P1申请—页内存,P2申请—页内存;P1释放—页内存,P2释放—页内存P1和P2先进行同步信号量P操...