-1
이 C 프로그램에서 나는 이해할 수없는 결과를 얻는다.fork()가이 print 문을 호출하는 이유는 무엇입니까?
#include <stdio.h>
int main()
{
printf("Hello World\n");
printf("%d\n", fork());
return 0;
}
그것은 출력 :
Hello World
5
Hello World
0
내 질문에, 왜 그것을 두 번에 "Hello World"를 인쇄합니까? 내 이해에서 "Hello World"를 인쇄 한 다음 fork()를 호출합니다.
fork()는 프로그램 시작 부분부터 시작합니까?
"Hello world"는 캐시되지 않았으며 캐시되지 않았습니다. 따라서 두 번째 프로세스가 종료되면 출력 버퍼에서도이 메시지를 인쇄합니다. fork하기 전에'fflush (stdout)'을 추가하십시오. – Ivan