<1>: 有些编译系统因版本等原因,在使用scanf()时会出现错误,可以通过在文件的最前面加上#define _CRT_SECURE_NO_WARNINGS。或者是把scanf()改成scanf_s()。
<2>: 在使用scanf()时,若定义两个变量,赋值并以不同方式从键盘输入,如char a,b;scanf("%c%c",&a,&b);printf("%c,%c",a,b);,若键盘输入86,则输出8,6。 若键盘输入8 6,则输出8 。这是因为a,b都是char型变量,空格存在于ASCII码中,输入严格按照顺序输入,则空格被输入,导致了出现第二种情景。变量为char类型时,这里的空格为控制字符,是有意义的。
若scanf("%c%c",&a,&b);改成scanf("%c %c",&a,&b);,键盘输入8 6,则输出8,6。
若定义的a,b是整形变量,即程序改为int a,b;scanf("%d%d",&a,&b);printf("%d,%d",a,b);,则不存在空格的干扰。变量为int类型时,这里的空格为非控制字符,是无意义的。