在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

getchar()函數詳解

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:Jambo! ? 2023-01-22 16:57 ? 次閱讀

getchar()

getchar的定義:

int getchar(void)

返回類型是int值,所以返回的是字符的ASCII碼

參數列表中是void,所以不必在括號中傳參數

如果getchar讀取失敗,就會返回EOF

getchar()的一個重要機制

在getchar函數的作用與鍵盤間,存在一個輸入緩沖區,從鍵盤輸入的內容會存在這個緩沖中,接下來getchar函數會從緩沖區中取走內容

因為getchar是對于字符進行操作,所以每次執行getchar都會取走輸入緩沖區中一個字符

并且getchar還會取走回車也就是\\n與空格

我們用下面的代碼進行對輸入緩沖區機制的測試:

int main()

{

char ch = 0;

while ((ch = getchar()) != EOF)

{

putchar(ch);

}

return 0;

}

1

2

3

4

5

6

7

8

9

當輸入一個字符a時,同時我們會按下回車,此時輸入緩沖區中就有兩個字符:a\\n

首先,getchar()會先取走字符a,然后通過putchar打印出來

接著循環,getchar()取走字符\\n,然后通過putchar打印出來,所以在輸出中光標不在輸出的a的后面,而在a的下一行

image.png

接著,輸入緩沖區中以無內容,getchar()就會讀到EOF,退出循環

還可以用以下代碼更進一步驗證getchar()對于回車的讀取:

int main()

{

int i = 0;

char ch = 0;

while ((ch = getchar()) != EOF)

{

putchar(ch);

i++;

}

printf("%d", i);

return 0;

}

1

2

3

4

5

6

7

8

9

10

11

12

13

輸入字符a和b,這里實際上是輸入a后,按一次回車,輸入b后,按一次回車,所以輸入緩沖區中的內容為:a\\nb\\n,所以getchar()會讀取四次,所以i的值為會是4

原文鏈接:https://blog.csdn.net/weixin_64116522/article/details/127956631

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    63020
  • 代碼
    +關注

    關注

    30

    文章

    4837

    瀏覽量

    69125
收藏 人收藏

    評論

    相關推薦

    stm32f103rct6 prinrf可以正常使用,但是無法使用getchar和scanf函數,為什么?

    已使用如下代碼重定向,prinrf可以正常使用,但是無法使用getchar和scanf函數,求大佬解答 #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int
    發表于 04-09 07:47

    USART中的getchar()函數功能不能實現

    int fputc(int ch, FILE *f)#define GETCHAR_PROTOTYPE int fgetc(FILE *f)#endif /* __GNUC__ */和下面這兩個函數定義
    發表于 11-08 08:58

    linux getchar函數的特點與使用

    1)函數原型int getchar(void);2)函數功能從stdin中讀取一個字符。3)返回值返回讀取字符的ASCII值或者EOF字符或者出錯值。4)頭文件#include
    發表于 07-24 07:21

    getch()與getchar()函數的區別是什么?

    getch()與getchar()函數的區別是什么?
    發表于 10-14 08:31

    怎樣用printf 函數getchar 函數去簡化STM32串口數據的傳輸呢

    printf 函數getchar 函數有何功能?怎樣用printf 函數getchar 函數
    發表于 10-22 07:49

    新手求助啟用RT_USING_POSIX時getchar調用過程

    給各位大佬倒茶,想求助下在開啟RT_USING_POSIX時,串口getc()函數到系統getchar()函數之間的調用路徑。小弟在調試大佬編寫的的web_terminal組件時發現如果開啟了
    發表于 11-14 14:17

    getch與getchar的區別是什么?

    1.getchar();從鍵盤讀取一個字符并輸出,該函數的返回值是輸入第一個字符的ASCII碼;若用戶輸入的是一連串字符,函數直到用戶輸入回車時結束,輸入的字符連同回車一起存入鍵盤緩沖區。若程序中有
    發表于 06-20 08:59

    PICC庫函數詳解

    PICC庫函數詳解
    發表于 04-18 20:13 ?132次下載

    Android開發手冊—API函數詳解

    Android開發手冊—API函數詳解
    發表于 10-17 09:01 ?13次下載
    Android開發手冊—API<b class='flag-5'>函數</b><b class='flag-5'>詳解</b>

    基于Android開發手冊—API函數詳解

    基于Android開發手冊—API函數詳解
    發表于 10-24 09:06 ?18次下載
    基于Android開發手冊—API<b class='flag-5'>函數</b><b class='flag-5'>詳解</b>

    網絡函數的習題與詳解詳細說明

    本文檔的主要內容詳細介紹的是網絡函數的習題與詳解詳細說明。
    發表于 09-28 08:00 ?0次下載
    網絡<b class='flag-5'>函數</b>的習題與<b class='flag-5'>詳解</b>詳細說明

    Linux內核GPIO操作函數詳解分析

    本文檔的主要內容詳細介紹的是Linux內核GPIO操作函數詳解分析免費下載。
    發表于 01-22 16:58 ?28次下載

    Android開發手冊API函數詳解資料免費下載

    本文檔的主要內容詳細介紹的是Android開發手冊API函數詳解資料免費下載。
    發表于 02-22 08:00 ?0次下載

    空閑任務鉤子函數詳解

    空閑任務鉤子函數詳解 1、鉤子函數 FreeRTOS中有多個鉤子函數,鉤子函數類似回調函數,當某
    的頭像 發表于 07-30 10:57 ?1144次閱讀
    空閑任務鉤子<b class='flag-5'>函數</b><b class='flag-5'>詳解</b>

    STM32庫函數SystemInit()詳解

    STM32庫函數SystemInit()詳解
    的頭像 發表于 09-18 15:45 ?4292次閱讀
    STM32庫<b class='flag-5'>函數</b>SystemInit()<b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 五月天婷婷亚洲 | 日本三级日本三级人妇三级四 | 亚洲地址一地址二地址三 | 狼狼鲁狼狼色 | 午夜性视频播放免费视频 | 久久久国产乱子伦精品 | 国产成人毛片亚洲精品不卡 | 日本人69xxxxxxx69| 日韩第五页 | 天堂网一区 | 天堂新版www中文 | 欧美日韩影院 | 国产激烈床戏无遮挡在线观看 | 91拍拍在线观看 | 亚洲色图在线视频 | 黑人性xxxⅹxxbbbbb | 欧美精品高清在线xxxx | 国产美女一级高清免费观看 | 日产乱码免费一卡二卡在线 | 欧美午夜片 | 国产香蕉视频在线观看 | 黄大片18满岁水多 | 黄视频网站在线看 | 精品女视频在线观看免费 | 日本69xxxxxxxx69 | 88av免费| 三级理论手机在线观看视频 | 国产日本在线播放 | 色综色| 一级特黄国产高清毛片97看片 | 全免费一级午夜毛片 | 免费观看四虎精品成人 | 免费在线看a | 五月天婷婷一区二区三区久久 | 婷婷六月丁香色婷婷网 | 六月婷婷网视频在线观看 | 色天使在线播放 | 国产三级a三级三级野外 | 日韩欧美在线中文字幕 | 久草tv | 天堂成人在线观看 |