【发布时间】:2011-04-13 10:13:16
【问题描述】:
我对 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);
}
}
我知道输出是“父级:值 = 10”。有人知道为什么吗?
谢谢!
【问题讨论】:
-
谢谢大家!完全明白现在发生了什么!
-
这是一些编程课程中常见的作业问题,它的作业不是吗?
-
如果您对答案感到满意,那么标记最佳答案是一个好习惯。这将奖励发布者并让其他人知道问题已经解决。