求大神指點(diǎn)
關(guān)于緩沖區(qū)的問題。緩沖區(qū)是不是分為輸入和輸出緩存,你在屏幕上輸入時(shí)就是將數(shù)據(jù)以字符寫入了緩沖區(qū),當(dāng)你按下回車就是將數(shù)據(jù)以指定格式讀取到內(nèi)存,而輸出就是將數(shù)據(jù)從內(nèi)存讀取,在寫入到輸出緩沖區(qū),屏幕上你打的字符和輸出的字符被緩沖區(qū)讀取到了哪里?既然它顯示了就應(yīng)該占據(jù)空間,而緩沖區(qū)又太小,屏幕上那么多的字符在哪里存著呢?
第二個(gè)問題:while (getchar() != ‘\n’)
????????????????????????continue;
????putchar();
具有丟棄除了字符的功能,是不是getchar()每從緩沖區(qū)讀取一次字符,就會(huì)將該字符清除,還是會(huì)將光標(biāo)移到下一個(gè)字符開始讀???
當(dāng)getchar() == ‘\n’時(shí)已經(jīng)不滿足循環(huán)條件了,那'\n’是被使用了還是被清除了?
求大神解惑,關(guān)于緩沖區(qū)的疑問...做輸入驗(yàn)證時(shí)發(fā)現(xiàn)‘'\n’真是一個(gè)麻煩的字符。
2022-11-10
https://www.cnblogs.com/ghbuff/articles/15915563.html? https://www.bilibili.com/read/cv17290379? 緩沖區(qū)問題 鍵盤錄入以換行符號(hào)'\n' 結(jié)尾? 回車后 緩沖區(qū)一定有一個(gè)'\n'? 此時(shí)用scanf("%*[^\n]");吸收掉除換行符以外的東西? scanf("%*c") 再吸收一個(gè)字符('\n')此時(shí)緩沖區(qū)就空了
2017-03-11
while小括號(hào)后面的getchar不能這么寫,書寫有誤
2017-02-06
我覺得你得問題有點(diǎn)長,所以很少有人回答。。。。。。。。