现在我在理解fork()系统调用的工作方面遇到了问题.我写了一个代码如下:
#include<stdio.h>
int main()
{
int a, b;
b=fork();
printf("\n the value of b = %d",b);
}
Run Code Online (Sandbox Code Playgroud)
此代码的输出如下:
现在我不明白为什么输出是这样的?
之后,我只是在我的代码中添加一行,输出完全不同.我的代码如下:
int main()
{
int a, b;
b=fork();
Run Code Online (Sandbox Code Playgroud)
当我运行代码输出跟随2389我的名字是manish
the value of b = 0
Run Code Online (Sandbox Code Playgroud)
现在我对fork()通话的工作感到很困惑.
我的问题如下:
fork()?fork()通话结束后的位置?b在不同位置发生的输出意味着在第一个代码中输出b = 2260就在输出之前,b = 0而值b = 2389不在...之前b = 0?请解释我在问题中编写的代码中的fork的工作,以便我可以正确地学习它.