#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() 完成的是从字符串中提取有效数据的过程。