1樓:
getchar()函式的功能是從鍵盤輸入一個字元。
getchar有一個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.
使用者輸入的字元被存放在鍵盤緩衝區中.直到使用者按回車為止(回車字元也放在緩衝區中).當使用者鍵入回車之後,getchar才開始從stdio流中每次讀入一個字元.
getchar函式的返回值是使用者輸入的第一個字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕.如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵.
在這裡是接收回車符即'\r'字元。就是前面你輸入整型數n後敲的回車符。
因為while迴圈內還有個gets(c);語句,這句是從鍵盤輸入字串,上面說的getchar就是接收回車符,避免回車符被這裡的c接收。
2樓:e網e友
僅僅學教材,是不能成為程式設計師的。多實踐吧、多交流,cin和cout在我的程式裡,根本沒有的。現在天下教材統一抄,只會抄,不會程式設計的老師太多了,建議國家對所以計算機老師和教材作者考核,o(∩_∩)o哈哈~
3樓:孤心殘雨
getchar簡單的說,就是暫停下來給你看的
c++getchar()函式問題
4樓:
getchar()函式 就是從輸入緩衝區讀一個字元,再轉換成 int 型 數值。
9710,1097 是 cout 輸出語句 問題。
如果你 加上一個換新行就不會混淆了:
cout << getchar()<< endl;
cout << getchar()<< endl;
回車 -- 打入enter 鍵,getchar() 得到的是"\n", 轉ascii值 十進位制 10
97 是 "a" 的 ascii值。
******************************====第2個程式,你只有 3 個 getchar() 。讀到的是:
"a","\n","a"
輸出 "\n","a"
第1個程式,你有 4 個 getchar() 。讀到的是:
"a","\n","a","\n"
輸出 "a","\n"
c++ getchar()問題
5樓:風若遠去何人留
getchar的作用是到輸入緩衝區讀資料,只讀一個位元組
而你如果加上
char c;
c=getchar();//測試中只要少了這段就不必要再加1個getchar()停留
cout< 在你輸入這個char c時 是不是要輸入一個字元,然後回車,這個字元被c=getchar獲取到了,並賦值給c 但是還有一個回車存在了輸入buffer裡面 所以在下面你要停住的時候,第一個getchar就獲取到了這個回車 無法達到停住的效果 停留視窗,getchar是個不錯的方法,保險起見,可以先清空輸入buffer 或者用getch函式 如果是windows可以用system("pause") 這個方法很流行 6樓: 還有一個標準的 system("pause"); 在需要的地方加上這句話就ok啦! 一般是在return 0;前邊。 統計字串中的重複字元,可以通過簡單雜湊演算法來實現。有效的字元的ascii值在0 127之間,定義一個128位的陣列,初始化為0,用陣列下標對應相應的字元,陣列元素值表示字元出現的頻率,統計相應字元的個數,個數大於1的字元就是重複的。include void main int i printf in... c語言輸入一行有空格的字串的方法 1 對於char char s 100 1000 第二個參數列示允許輸入的最大長度while 1000 輸入輸出樣例。輸入 he llo 輸出 he llo 2 對於string string s getline cin,s while getline cin,s ... include stdio.h include string.h include stdlib.h char firstnotrepeatingchar char pstring 如果這個字串為空,或者字串中的每個字元都至少出現兩次return 0 int main void 小小de菸圈 incl...C語言,輸入字串,輸出字串中一共有多少個重複的字元
C語言如何輸入一行有空格的字串?
c語言,輸入字串,查詢只出現一次的字元,求高手幫忙寫,謝謝謝謝謝