亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c語言gets()和scanf()的區別有哪些

發布時間:2021-11-04 14:49:26 來源:億速云 閱讀:145 作者:iii 欄目:編程語言

本篇內容主要講解“c語言gets()和scanf()的區別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c語言gets()和scanf()的區別有哪些”吧!

  主要是針對“%c”:默認沒有任何分隔字符(包括all空白字符)。

  情況一

  char a,b;

  scanf("%c%c",&a,&b);

  printf("%c%c",a,b);

  則字符輸入沒有任何分隔符。

  情況二

  char a,b;

  scanf("%c %c",&a,&b);

  printf("%c%c",a,b);

  比較特殊:只要scanf()中字符%c之間出現了任意空白字符,那么在輸入端任意空白字符(且不限數量)都作為分隔符{此時的情況就類似“%d%d”了,能夠智能識別讀取“真”字符}——但是!新的一輪的第一個字符仍會是回車符。

  綜上,以后輸入讀取多個字符使用情況二更好。

  理緩沖區多余無用字符的方法

  (1) 清空緩沖區——有一個名為fflush(stdin)的函數,可以用來清空緩沖區。

  while(scanf("%c%c",&a,&b)!=EOF)

  {

  printf("a=%c,b=%c\n",a,b);

  fflush(stdin);

  printf("Input the value of a and b:");

  }

  即:在空白字符被誤讀之前將緩沖區暫時清空。

  (2)將緩沖區的致錯數據讀出來(間接清理緩沖區)——getchar() or gets()

  對于getchar():讀取緩沖區的第一個字符(EOF),該函數的返回值為該字符(EOF==-1)(若返回給整型變量則是它對應的ASCII碼)擴展兄弟函數putchar():putchar(ch/int)——此函數輸出在終端以參數ch/int(ASCII碼)對應的char值。

  對于gets():獲取字符串(讀取一行東西)。

  在C語言中,scanf()函數和gets()函數都可用于輸入字符串,但是也有很多區別。

  scanf()和gets()主要區別如下:

  1.gets()的輸入分隔符只有回車,因此gets能夠讀入空格。如果使用gets()輸入"Hello World",運行之后的結果是"Hello World",但是使用scanf()輸入只能輸出"Hello"。

  2.scanf()和gets()對待緩沖區的回車符也是完全不同的。scanf()在讀取非空白符之前會忽略回車,讀取之后如果遇到空白字符會停止輸入,將其留在緩沖區里。gets()只要一遇到回車就輸入結束,并把這個回車從緩沖區里移走。

  3.gets()可以讀取空回車,但是scanf不能。

到此,相信大家對“c語言gets()和scanf()的區別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 布尔津县| 乌海市| 上饶县| 平昌县| 和田县| 哈密市| 治县。| 高青县| 永年县| 井陉县| 甘德县| 桐柏县| 高尔夫| 衡南县| 宜兰市| 长岛县| 和硕县| 秭归县| 迁安市| 南丰县| 河源市| 红原县| 且末县| 五原县| 杭锦旗| 克山县| 文成县| 天长市| 青州市| 绩溪县| 上栗县| 新巴尔虎右旗| 通城县| 大理市| 宣威市| 岚皋县| 科技| 黄平县| 甘洛县| 长海县|