一.用getchar函式獲取一個字符:
int main()
{
int ch = 0;
ch=getchar();
putchar(ch);
return 0;
}
二.將getchar放在回圈中,實作多組輸入字符:
int main()
{
int ch = 0;
while (ch = getchar())
{
putchar(ch);
}
return 0;
}
三.從緩沖區讀取字符時的注意點:
我們以牛客網的一道例題為例:
我們根據上面兩種情況會自然的寫出這樣的代碼:
int main()
{
int ch = 0;
while (ch = getchar())
{
putchar(ch + 32);
}
return 0;
}
看一下運行結果:

這里的*實際上是由我們從鍵盤上敲出的回車+32產生(由ASCII碼表得出) ,因為getchar獲取字符時不是直接從鍵盤獲取的,而是從緩沖區:

既然敲回車時產生了\n,那么也可以使用getchar接收這個\n;
優化后的代碼如下:
int main()
{
int ch = 0;
while ((ch = getchar())!=EOF)
{
putchar(ch + 32);
putchar('\n');
getchar();
}
return 0;
}
接下來再來看一下運行結果:

這樣就完成了用getchar函式使用回圈實作多組輸入,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/392172.html
標籤:其他
上一篇:暴力遞回——漢諾塔問題
下一篇:seaborn使用violinplot函式可視化小提琴圖、使用swarmplot函式添加抖動資料點(jittered points)顯示資料的稠密程度
