printf("hello2");
int i = 0;
int done = 0;
while (!done)
{
char c;
printf("hello3");
c = getc(stdin);
printf("hello4");
if (isspace(c))
{
done = 1;
ungetc(c, stdin);
printf("hello5");
}
}
내 프로그램이 현재 입력 (이 경우 특별히 빈 입력)을 읽으려고합니다. 그러나, 내 프로그램이 작동하지 않는다는 것을 알게 된 후, 나는 printfs를 산란시킴으로써 디버깅을 시도했다. 그리고 그 프로그램은 c = getc(stdin)
이후에 작동을 멈춘다. 내 이론이 옳다면 c = getc(stdin)
을 사용하면 무엇이 문제가되지 않습니까?getc (stdin) 후 프로그램이 작동을 멈춘다.
각 출력 문자열에'\ n '을 추가하여 보험 출력이 플러시됩니다. 문제를 식별 할 수있는 코드가 충분하지 않습니다. – chux
'getc()'는'int', 일반적으로 257 개의 다른 값'EOF'와'unsigned char '범위의 값을 반환합니다. – chux
'printf()'를 호출 할 때마다'fflush (stdout);을 사용하여 무엇을 인쇄해야하는지 확인하십시오. – MikeCAT