아래 프로그램을 실행할 때 출력이 나타나지 않습니다.무한 while 루프를 사용하여 printf와 비정상적인 동작이 발생했습니다.
#include <stdio.h>
int main()
{
printf("hello");
while(1)
{
}
return 0;
}
내가 printf와 명령은 문자열의 마지막에 '\ n을'문자를 추가 편집하는 경우 반면에, 다음 예상되는 출력이 제공됩니다. 첫 번째 코드에서 무슨 일이 벌어지고 있습니까? 나는 그것을 이해할 수 없다.
'fflush (stdout)'을 호출하면 무한 루프가됩니다. –
출력이 버퍼링됩니다. @GrijeshChauhan이 제안한대로'printf' 다음에'fflush (stdout)'을 사용하면 문자열의 끝 부분에'\ n'을 출력 할 수 있습니다. 입력 함수 ('getchar' 또는'scanf')와 같이 출력 버퍼를 플러시하는 다른 연산이 있지만 코드 조각에서 루프가 수행하는 작업이 명확하지 않습니다. – lurker
[프로그램이 최종 printf 문을 실행하지 않는 이유는 무엇입니까?] (http://stackoverflow.com/questions/11277796/why-does-program-not-execute-final-printfstatement) – lurker