int main()
{
int r, c;
r = getchar();
c = getchar();
putchar(r);
putchar(c);
printf("\n");
return(0);
}
它讀取r
後,程序輸出r
並退出。我希望它要求c
並輸入它,但它怎麼沒有做到這一點?我想getchar兩次,但我不能
int main()
{
int r, c;
r = getchar();
c = getchar();
putchar(r);
putchar(c);
printf("\n");
return(0);
}
它讀取r
後,程序輸出r
並退出。我希望它要求c
並輸入它,但它怎麼沒有做到這一點?我想getchar兩次,但我不能
你是在同一行還是兩行輸入字符?
getchar()
將等到您按回車,然後開始解析字符。如果您在2行中輸入了2個字符,則會讀取第一個字符,然後讀取\n
字符。
我的意思是,下面的輸入:
a
b
相當於"a\nb"
。
getchar()
將抓取\n
而不是b
,並打印a\n\n
。
你想輸入兩個字符,然後按回車。
您可能正在輸入X + 輸入。第一個getchar()
讀取字符X
,第二個getchar()
讀取按Enter鍵時生成的換行符。在不按Enter鍵的情況下鍵入您的字符。
@Yi Jiang:很酷的格式,感謝您的信息! – 2011-04-10 02:09:37
澄清:'getchar'不會等到你輸入;終端應用程序會緩存輸入,直到您輸入並立即發送所有內容。 – Potatoswatter 2011-04-10 02:10:02