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

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

4444临时5个月前 (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://pythonopen.com/?id=6703

相关文章

[12][20][单选]下列关于文件系统中文件的描述中,哪一个是正确的

构成文件内容的基本单位为信息项文件的内容没有顺序关系文件内容都是由操作系统程序并使用的用户需要关注文...

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

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

[12][22][单选]下列关于实现创建文件操作的描述中,哪一个是错误的

创建文件操作完成后,该文件得到一个新的文件控制块FCB创建文件操作完成后,操作系统给该文件分配一定的...

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

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