我对C编程非常陌生,尽管我已经做了很多其他类型的编程。
我想知道为什么这个程序输出10,是否有人能够解释一下。
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>
int value = 10;
int main()
{
pid_t pid;
pid = fork();
if(pid == 0){
value += 10;
}
else if(pid > 0){
wait(NULL);
printf("parent: value = %d\n", value); //Line A
exit(0);
}
}
我知道输出结果是“parent: value = 10”。有人知道为什么吗?
谢谢!