第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你好,請教一下scanf函數(shù)%c的問題?

你好,請教一下scanf函數(shù)%c的問題?

幕布斯6054654 2021-01-12 15:15:27
連續(xù)兩個scanf,ex:printf("Y or N?");scanf("%c",a);printf("Y or N?);scanf("%c",b);會出現(xiàn)第二個被省略的現(xiàn)象,我去網(wǎng)上查說,第二個%c加空格,即可,我試了,的確行,他還說是緩存問題。。那為什么只有%c這樣呢?還有+空格跟清除緩存有什么關系?
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

第一,你的程序有問題
scanf("%c",&a);//這里要&(取地址符)
第二,為什么第二個會被忽略的問題是因為,第一次輸入的時候,回車鍵會滯留在輸入緩沖區(qū),第二次要去輸?shù)臅r候,會直接去讀回車鍵
在第二次要去輸入的時候,可以先清除緩沖區(qū),用getchar(),或者用fflush(stdin)

printf("Y or N?");
scanf("%c",&a);
getchar();//或者fflush(stdin);
printf("Y or N?);
scanf("%c",&b);

查看完整回答
反對 回復 2021-03-28
?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

首先scanf應該這樣用 scanf("格式化字符串",變量地址)你的用法是錯誤的
"%c"只從輸入緩沖里讀一個字符,但是你在輸入的時候不只一個字符,剩下的字符(包括回車)就留給第二個"%c"了
解決方法:
printf("Y or N?");
scanf("%c\n",&a);
fflush(stdin);
printf("Y or N?);
scanf("%c\n",&a);
fflush(stdin);


查看完整回答
反對 回復 2021-03-28
  • 2 回答
  • 0 關注
  • 283 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號