#include <iostream>
using namespace std;
int main()
{
cout << 1;
while (true);
return 0;
}
이 프로그램은 1을 인쇄 한 다음 중단 될 것으로 생각했습니다. 하지만 아무 것도 인쇄하지 않고 방금 매달 렸습니다. cout << endl
또는 cout.flush()
이 문제를 해결할 수 있지만 여전히 예상대로 작동하지 않는 이유를 알고 싶습니다. 이 문제는 codeforces 경연 대회에서 발생했으며 내 프로그램의 이상한 동작을 조사하는 데 많은 시간을 보냈습니다. 그것은 틀린 것이었고, 또한 숨겨진 출력은 실제로 디버깅 정보였습니다.C++ 콘솔 출력 관련 문제
printf
(gcc로 컴파일)을 사용해 보았는데 cout
뿐만 아니라이 질문도 C로 참조 할 수 있습니다.
'flush'가 동작을 변경한다는 것을 이미 알고 있습니다 ('<< endl'은 암시 적으로 플러시됩니다). ''flush''가 무엇을하는지 읽을 수 있습니다. 거기에 또 뭐라고 말할까요? – Jon
다시 인쇄 할 수 없습니다.이 파일은 VS2012로 인쇄됩니다. – Borgleader
g ++ 및 linux를 사용합니다. –