色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    4327

    瀏覽量

    62573
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68525
收藏 人收藏

    評論

    相關推薦

    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 ?1060次閱讀
    空閑任務鉤子<b class='flag-5'>函數</b><b class='flag-5'>詳解</b>

    STM32庫函數SystemInit()詳解

    STM32庫函數SystemInit()詳解
    的頭像 發表于 09-18 15:45 ?4019次閱讀
    STM32庫<b class='flag-5'>函數</b>SystemInit()<b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 中文字幕在线观看亚洲视频| 99视频一区| 国产亚洲人成在线视频| 秋霞电影在线观看午夜伦| 最近2019中文字幕免费版视频| 国产极品白嫩超清在线观看| 欧美人与禽ZOZO性伦交视频| 中文文字幕文字幕亚洲色| 黄页免费观看| 午夜免费国产体验区免费的| 川师 最美老师| 欧洲-级毛片内射八十老太婆| 自慰弄湿白丝袜| 果冻传媒 在线播放观看| 小蝌蚪视频在线观看免费观看WWW| 不卡的在线AV网站| 欧美最猛性XXX孕妇| 99久久久免费精品免费| 麻豆婷婷狠狠色18禁久久| 有码在线播放| 久久午夜一区二区| 总攻催眠受的高h巨肉np| 久久久久久久久a免费| 亚洲欧美人成视频在线| www亚洲欲色成人久久精品| 久久国产精品自线拍免费| 一二三四在线播放免费观看中文版视频 | 精品久久中文字幕有码| 成人1000部免费观看视频| 泡妞高手在都市完整版视频免费| jk制服喷水| 少妇高潮惨叫久久久久久电影| 国产成人精品区在线观看| 亚洲AV无码乱码国产麻豆穿越 | 亚洲欧美成人无码久久久| 吉吉影音先锋av资源| 中国jjzz| 日本xxx片免费高清在线| 国产传媒18精品A片在线观看| 羞羞答答的免费视频在线观看| 九九热视频免费观看|