輸入和輸出的總結(c語言)

來源:互聯網
上載者:User

標籤:

c語言中有多種的輸入和輸出方式,下面就簡單總結一下:

一.輸入的三種方式

  (1)scanf 

      scanf 函數可以在變數中使用,也可以在數組中使用,當然指標上也能用到,是一個很好的輸入函數.scanf是一個格式輸入,比如scanf("%d-%d-%d",&i,&j,&z),在控制台上輸入的時候,應該以雙引號的格式輸入即2015-3-19的格式輸入,否則會出錯!

scanf的缺點:

      在字串輸入的時候,不能有空格.遇到空格會自動結束輸入;

     另外,如果使用者輸入的字串長度大於數組長度時,沒有空間存‘\0‘這個結束符!

      還有一個缺點就是,scanf屬於不安全類型的IME.

(2)gets函數IME

     使用的例子:

                    char  arr[10]; 

       gets(arr);

       printf("%s",arr);

     優點:字串輸入的時候,可以有空格;

     缺點:不安全,如果輸入的字串的長度大於了數組的長度,會溢出

(3)fgets()函數IME

     fgets()函數的使用:fgets(字元數組名,數組長度,stdin) ,其中,stdin是指標準的輸入

                       例子:int arr[10];

                             fgets(arr,10,stdin);

     fgets()的優點:如果輸入的字串長度大於可字元數組的長度,此時,fgets會自動截斷

    注意事項:fgets只能儲存的長度為數組長度減一個字元,因為他要用一個字元長度來存放‘\n‘;

                 當輸入的內容小於數組長度的時候,多接收了一個換行字元(要檢驗它多接收了一個換行的標誌,用輸入ASCII碼的數字形式輸出 即%d,‘\n‘在ASCII的十進位數為10);其解決辦法把‘\n‘替換成‘\0‘

如下:

       (if(s[stlen[s]-1])==‘\n‘) { s[strlen[s]-1=‘\0‘;}

 

二.輸入的三種函數

 (1)printf()函數

     printf是格式化輸出,例如printf("%d,%d,%d",i,j,k)在控制台上的輸出格式為 2015,3,19(因為上引號中用括弧隔開,所以控制台也用逗號隔開;如果換成空格隔開,控制台上顯示的也是用空格隔開),簡而言之,printf的格式是怎麼樣的,顯示出來的格式就是什麼樣的!

    缺點:printf不能自動換行

(2)puts()函數輸出

    puts函數克服了printf不能自動換行的缺點,可以自動換成;但是卻不可以像printf那種可以格式化輸出.

   使用格式為:puts(數組名);

(3)fputs()函數輸出

    fputs()可以輸出一個字串到檔案中,格式如下:

            fputs(數組名,stdout),其中,stdout 標準的輸出

     例子:fgets(s    ,  stdout)

  缺點:fputs不能自動換行

輸入和輸出的總結(c語言)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.