scanf(函數)

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b, c;

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

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

    scanf("%d, %d, %d", &a, &b, &c);
    printf("a+b+c=%d\n", a+b+c);
   
    scanf("%d is bigger than %d", &a, &b);
    printf("a-b=%d\n", a-b);

    system("pause");
    return 0;
}
第一個 scanf() 的格式控制字符串爲"%d %d",中間有一個空格,而我們卻輸入了10    20,中間有多個空格。第二個 scanf() 的格式控制字符串爲"%d   %d",中間有多個空格,而我們卻輸入了100 200,中間只有一個空格。這說明 scanf() 對輸入數據之間的空格的處理比較寬鬆,並不要求空格數嚴格對應。

第三個 scanf() 的控制字符串爲"%d, %d, %d",中間以逗號分隔,所以輸入的整數也要以逗號分隔。

第四個 scanf() 要求整數之間以is bigger than分隔。

每次用戶按下回車鍵,程序就會認爲用戶輸入結束,scanf() 開始讀取用戶輸入的內容,並根據格式控制字符串從中提取數據,只要用戶輸入的內容和格式控制字符串匹配,就能夠正確提取。

本質上講,用戶輸入的內容都是字符串,scanf() 完成的是從字符串中提取有效數據的過程。

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