相关疑难解决方法(0)

在c语言中使用fork

现在我在理解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()通话的工作感到很困惑.

我的问题如下:

  1. 怎么样fork()
  2. 控制在fork()通话结束后的位置?
  3. 任何机构都可以解释为什么编写的代码输出有问题吗?
  4. 为什么b在不同位置发生的输出意味着在第一个代码中输出b = 2260就在输出之前,b = 0而值b = 2389不在...之前b = 0

请解释我在问题中编写的代码中的fork的工作,以便我可以正确地学习它.

c fork systems-programming

11
推荐指数
2
解决办法
4万
查看次数

标签 统计

c ×1

fork ×1

systems-programming ×1