while(getchar()=='\n')continue;为什么作用是清空行
生活随笔
收集整理的這篇文章主要介紹了
while(getchar()=='\n')continue;为什么作用是清空行
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
綜合網(wǎng)上多篇資料,自己總結(jié)出了下面的內(nèi)容:
1、getchar()是在輸入緩沖區(qū)順序讀入一個字符(包括空格、回車和Tab);
2、從緩沖區(qū)讀走一個字符,相當于把這個字符從緩沖區(qū)里面清楚;
3、第一次執(zhí)行g(shù)etchar函數(shù)時,確實需要人工的輸入,但是如果你輸了多個字符,以后的getchar函數(shù)再執(zhí)行時就會直接從緩沖區(qū)中讀取了。實際上是 輸入設(shè)備->內(nèi)存緩沖區(qū)->程序getchar函數(shù)? ;
4、在這里判斷條件是'\n'(換行符),說明程序是以換行符結(jié)束輸入,所以用getchar函數(shù)不斷的讀取你輸入'\n'之前的輸入,因為getchar函數(shù)有一個char類型的返回值,如果沒有把返回值賦給任何變量, 該返回值就會被遺棄。也就是把這個字符從緩沖區(qū)里面清除,而且沒有對這個值進行備份,即清除了這個字符的存在。
5、直到遇到換行符就停止讀取,這樣'\n'之前的字符就都被遺棄了所以完成了清行的功能啦
總結(jié)
以上是生活随笔為你收集整理的while(getchar()=='\n')continue;为什么作用是清空行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: groovy+mysql数据库_使用Gr
- 下一篇: 【java8新特性】——Optional