亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12
最近訪問板塊 發(fā)新帖
樓主: Quasimodo_lory
打印 上一主題 下一主題

[C] 一個小問題,想不明白~ [復制鏈接]

論壇徽章:
0
11 [報告]
發(fā)表于 2009-08-27 17:24 |只看該作者

回復 #8 yylogo 的帖子

在scanf后加入那段代碼后正常了“一半”
當輸入非n和y字符時就會出現(xiàn):
顧客類型不正確,教師輸入'y',非教師輸入'n'>顧客類型不正確,教師輸入'y',非教師輸入'n'>

論壇徽章:
0
12 [報告]
發(fā)表于 2009-08-27 17:26 |只看該作者

回復 #7 aaaaa5aa 的帖子

就是先輸入價錢后回車啊,然后就出現(xiàn)一樓那描述的問題啦。

論壇徽章:
0
13 [報告]
發(fā)表于 2009-08-27 17:29 |只看該作者

回復 #12 Quasimodo_lory 的帖子

你弄清楚了為什么要加那代碼嗎?

論壇徽章:
0
14 [報告]
發(fā)表于 2009-08-27 17:37 |只看該作者

回復 #10 huangwei0413 的帖子

哦,我明白了!
這句:
while(getchar() != '\n'){
        continue;
}
就是把scanf("%lf",&money);后的回車'\n'接收,否則它就被scanf("%c",&judge);接收而跳到
printf("顧客類型不正確,教師輸入'y',非教師輸入'n'> ");
所以就出現(xiàn)那種狀況。
謝謝大家了!

論壇徽章:
0
15 [報告]
發(fā)表于 2009-08-27 17:38 |只看該作者

回復 #13 yylogo 的帖子

我知道了,謝謝你!

論壇徽章:
0
16 [報告]
發(fā)表于 2009-08-27 18:35 |只看該作者
經(jīng)測試證明,最關(guān)鍵的是在scanf 前面加上setbuf(stdin, NULL), 因為在這個代碼里邊只要匹配到y(tǒng) or n 任意一個都會break, 所以開始清空標準輸入很關(guān)鍵

論壇徽章:
0
17 [報告]
發(fā)表于 2009-08-27 19:37 |只看該作者
原帖由 dmastery 于 2009-8-27 18:35 發(fā)表
經(jīng)測試證明,最關(guān)鍵的是在scanf 前面加上setbuf(stdin, NULL), 因為在這個代碼里邊只要匹配到y(tǒng) or n 任意一個都會break, 所以開始清空標準輸入很關(guān)鍵

你的這種方式也可以,只是我不懂setbuf這個函數(shù)。查書有這么一段話:
#include<stdio.h>
void setbuf(FILE *stream,char *buf);
buf為空指針時,setbuf()停止對stream的緩沖處理;buf為非空指針時,setbuf()把流的緩沖區(qū)置為buf所指區(qū)域。
說明自己定義的緩沖區(qū)時,緩沖區(qū)尺寸必須為BUFSIZ個字節(jié)。BUFSIZ在頭部文件<stdio.h>中定義。
在C99中,stream和buf由restrict修飾。
《C語言大全》 P229
看不懂,自己水平不夠啊。你可以給我講解一下嗎?
謝謝啊!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP