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