【getchar】在C语言中getchar的使用方法和读取规则
文章目錄
- 前言
- 一、getchar是什么?
- 二、getchar的使用方法
- 1.只獲取一次(字符/字符串)的代碼樣例
- 2.循環獲取(字符/字符串)的代碼樣例
- 三、getchar的讀取規則
- 總結
前言
今天為大家分享getchar在C語言中的使用
一、getchar是什么?
getchar中文意思是獲取字符,getchar函數從標準輸入輸出里讀取下一個字符,返回類型為int整形,返回用戶輸入的ASCII碼值,如果到達文件末尾或者出錯返回EOF
二、getchar的使用方法
1.只獲取一次(字符/字符串)的代碼樣例
代碼如下(示例):
#include<stdio.h> int main() {int ch = getchar();putchar(ch);return 0; }代碼執行結果
2.循環獲取(字符/字符串)的代碼樣例
代碼如下(示例):
#include<stdio.h> int main() {int ch = 0;while ((ch = getchar()) != EOF){putchar(ch);}return 0; } 注意事項 1.這里的EOF并不是輸入EOF循環結束 2.EOF的真實值是-1 3.這里的Ctrl+z的效果便是EOF代碼執行結果
到這里有些細心的朋友就會發現代碼里面并沒有換行指令為什么運行的結果會自動換行?
三、getchar的讀取規則
講了這么多可能很多人都不明白這么一個代碼有什么用呢?其實在很多地方都會用到,比如模擬用戶登入場景。但是寫這個代碼的時候就要注意getchar的讀取規則
代碼如下(示例)
代碼運行結果
在這里我們看到都還沒確認就直接輸出確認失敗,到這里大家應該都明白了是什么問題吧?沒錯就是\n的問題,這里getchar發現緩沖區里面還有一個\n就沒等我們輸入直接把\n讀走
那應該如何解決呢?
代碼如下(示例)
代碼運行結果
接下來我們再想大家思考一個問題,當密碼里面有空格的時候還會確認成功嗎?
沒錯還是會失敗,這又是為什么呢?因為數組把空格前面的123456讀走了,但是緩沖區里還剩下空格abcdef\n所以getchar還是會讀取緩沖區里面的東西
那該怎么解決呢?
代碼如下(示例)
代碼運行結果
總結
從上面我們學習到了getchar,發現其實getchar的使用很簡單就是讀取字符,但是難的是它的讀取字符是的規則,所以我們在使用getchar的時候一定要慎重思考它的讀取規則。
總結
以上是生活随笔為你收集整理的【getchar】在C语言中getchar的使用方法和读取规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文精读】:Global Matchi
- 下一篇: BBU+RRU基本介绍