2012-05-02 8 views
0
#include "stdafx.h" 
#include<sys/types.h> 
#include<stdio.h 
#include<unistd.h> 
int value=5; 
int _tmain(int argc, _TCHAR* argv[]){ 
pid_t pid; 
pid=fork(); 
if(pid==0) 
{ 
value+=15; 
} 
else if(pid>0) 
{ 
wait(NULL); 
printf("Parent value:=%d",value); 
exit(0); 
} 
return 0; 
} 

이 프로그램의 출력은 무엇입니까? 부모의 값은 20이 될 수 또는 아이가 변수 "값"의 복사본을포크 - 부모 자식 프로그램

+0

@sixlettervariables 그것은 같은 질문이 아닙니다. 참조 된 질문은 pthreads에 관한 것이고, 여기서 답은이 질문에 대한 답과 다릅니다. (물론, 밀접하게 관련되어 있지만 동일하지는 않습니다.) –

+0

@Lasse : 지나치게 공격적이고 부정확 한 검토입니다. 같은 질문이 아닙니다! –

+0

@JonathanLeffler : 그건 나쁘다. 실제로는 똑같은 것으로 읽었고, 야간 근무를 중단하는 동안 투표를 끝내지 않을 것이다. – user7116

답변

1

부모 변수 "값"과의 복사본이있을 것이다 그래서 출력이 될 AV 것이다 5

위 코드를 실행 해 보셨습니까?