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