【 *** 作系统】运行下列程序,给出运行结果并分析运行结果?

【 *** 作系统】运行下列程序,给出运行结果并分析运行结果?,第1张

运行程序:

创建子进程源程序

运行结果

获得父子进程的Process Identification

分析运行结果:

创建新进程成功,出现两个进程,一个是子进程,一个是父进程。

父进程的Process Identification=3!

子进程的Process Identification=4!

fork仅仅被调用一次,却能够返回两次

1)在父进程中,fork返回新创建子进程的进程ID=4;

2)在子进程中,fork返回0;

这段程序主要是演示:不同“作用域”的变量的不同特点。

具体到func()。根据func()的定义和内部变量:

int func(int x)

{

int a = 1

static int b = 10

...

可以看到,func()中总共有3种变量:

(1) 传入的参量:  int x

(2) 自动变量:    int a = 1

(3) 函数静态变量:static int b = 10

这3种变量的情况说明如下:

x:传入多少就是多少

a:只要进入func()就会被初始化成1

b:从最开始的b=10,每次改变都会保留。在下次进入func()时,采用上次的值

自己试试看就知道了。谢谢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8138414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存