举几个例子,或许你就对这个函数理解了,由于一般都是用这两个字符控制输入的,所以只讨论空格回车的情况
1.
输入数据为非char类型的情况:
int a, b;
scanf("%d%d",&a,&b);
此时的输入方式可以是1空格2
或者1空格空格。。2
或者1回车2
或者1回车回车。。2
此时可以得出结论,scanf接收不但忽略空格还忽略回车
int a, b;
scanf("%d,%d",&a,&b);
此时的输入方式可以是1,空格2
或者1,空格空格。。2
或者1,回车2
或者1,回车回车。。2 (只需要保证1紧接着逗号就行,随便奇葩的输入都正确)
此时可以得出结论,scanf接收不但忽略空格还忽略回车,但是在有逗号的情况下必须遵循一定的格式,否则出错。
2.再看输入数据为char类型的情况:
char a, b;
scanf("%c%c",&a,&b);// 或者scanf("%c,%c",&a,&b);
此时的输入只能按格式来,不会忽略任何字符。
就说这么多了,可能你考虑的比较多,我有没说到的,若有疑问可以提出来一起讨论下