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


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

一.輸入的三種方式

  (1)scanf 

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

scanf的缺點:

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

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

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

(2)gets函數輸入法

     使用的例子:

                    char  arr[10]; 

       gets(arr);

       printf("%s",arr);

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

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

(3)fgets()函數輸入法

     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不能自動換行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM