91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

三河市| 亚东县| 隆德县| 安新县| 清徐县| 万山特区| 通城县| 罗源县| 阿拉尔市| 南岸区| 准格尔旗| 疏附县| 抚顺县| 潢川县| 罗城| 仙居县| 泸水县| 灵台县| 乌拉特中旗| 德阳市| 合江县| 临颍县| 高安市| 临湘市| 崇仁县| 海盐县| 海城市| 乐东| 禄丰县| 桂林市| 寻乌县| 繁峙县| 永寿县| 乐安县| 永和县| 海口市| 新营市| 寿宁县| 息烽县| 宝应县| 若尔盖县|