getchar();吸收回车符
生活随笔
收集整理的這篇文章主要介紹了
getchar();吸收回车符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在進行如下代碼時:
#include <stdio.h> int main() {int data;char cdata;printf("請輸入一個整數:\n");scanf("%d",&data);switch(data){case 1:puts("滿足條件1的情況");break;case 2:puts("滿足條件2的情況");break;case 3:puts("滿足條件3的情況");break;default:puts("其他情況");}printf("請輸入一個字符:\n");scanf("%c",&cdata);switch(cdata){case 'a':puts("滿足條件a的情況");break;case 'b':puts("滿足條件b的情況");break;case 'c':puts("滿足條件c的情況");break;default:puts("其他情況");}return 0; }其運行結果如下圖所示:
未輸入第二次,卻顯示了其運行結果。
? ? ? ?分析其原因,是因為第一次scanf("%d",&data);輸入后,回車沒有被吸收,被放入到scanf("%c",&cdata);中。故需要將回車符吸收,即可進行第二次輸入。代碼進行如下修改:
printf("請輸入一個字符:\n");getchar(); // 吸收回車符scanf("%c",&cdata);其運行結果如下圖所示:
?
總結
以上是生活随笔為你收集整理的getchar();吸收回车符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C++】日期计算器
- 下一篇: myeclipse8.5汉化