數據的輸入輸出


字符輸出函數putchar 

    int putchar(int c) 

函數參數:c爲字符常量或表達式

函數返回值:輸出的字符

函數功能:在標準輸出上顯示一個字符


格式化輸出函數printf

int printf (const char *format, ),成功返回輸出的字節數,失敗返回-1EOF


字符輸入函數getchar

        int getchar(void)

    返回值的含義是存儲從鍵盤上讀取的字符,返回值的類型確是int,而不是char 

    int main()

    {

        int ch;

        printf("Enter a character:");

        while ((ch = getchar()) != EOF)

            printf ("%c--->%#x\n", ch, ch);

        printf ("end main\n");

        return 0;

    }

格式化輸入函數scanf

        int scanf (const char *format, ),成功返回輸入的變量的個數,失敗返回-1EOF)   

    輸入數據時,遇到以下情況認爲該數據結束:

    -  空格、TAB或回車

    -  寬度結束

    -  非法輸入

    非法輸入,比如:程序需要輸入一個浮點數,用戶輸入的是字母,這就屬性非法輸入

    返回值是成功輸入的變量的個數,當遇到非法輸入時,返回值會小於實際變量個數 

    int main()

    {

        int a, b, n;

        printf("input numbers:");

        while ((n = scanf("%d%d", &a, &b)) == 2)

        {

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

            printf("input numbers:");

        }

        printf("n=%d\n", n);

         return 0;

    }


字符串輸入輸出函數

    1.字符串輸出函數 puts

            int puts(const char *s),在標準輸出上顯示字符串s,成功返回一個非0的數字;失敗返回-1EOF

        int main()

        {

            char s[]="welcome";

            puts(s);    

             return 0;

        }

    2.字符串輸入函數gets    

      char *gets(char *s)

      功能:從鍵盤輸入一以回車結束的字符串放入字符數組中,並自動加'\0'

      成功返回字符數組的起始地址,失敗或輸入結束返回NULL

        #define N 20

        int main()

        {

            int i = 0;

            char s[N] = {0};

         

            printf(">");

            while (gets(s) != NULL)

            {

                printf(">");

               // scanf("%s", s);

                printf("i = %d :%s\n", i, s);

                i++;

            }

         

            printf("end main\n");

            return 0;

        }

       gets函數的參數中,不含長度控制。當輸入字符時,最多隻能輸入N-1(留一個位置存字符串的         結束符\0)。假如輸入字符超過了N-1,則多餘的符號也會被存到字符數組中,這樣就會造成內         存的訪問越界,結果是不可預料的。所以,使用此函數時,會有警告。我們在使用該函數時,         一定要注意數組的長度。

       

  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章