scanf容易出错的地方
首先,scanf 中双引号内除了“输入控制符”之外不要加任何“非输入控制符”。通过键盘给多个变量赋值与给一个变量赋值其实是一样的。比如给两个变量赋值就写两个 %d,然后“输入参数”中对应写上两个“取地址变量”;给三个变量赋值就写三个 %d,然后“输入参数”中对应写上三个“取地址变量”……但是需要注意的是,虽然 scanf 中没有加任何“非输入控制符”,但是从键盘输入数据时,给多个变量赋的值之间一定要用空格、回车或者 Tab 键隔开,用以区分是给不同变量赋的值。而且空格、回车或 Tab 键的数量不限,只要有就行。一般都使用一个空格。此外强调一点:当用 scanf 从键盘给多个变量赋值时,scanf 中双引号内多个“输入控制符”之间千万不要加逗号,。有些人觉得在输入的时候可以用逗号分隔,所以就在“输入控制符”之间用逗号隔开。这样做从程序的角度确实是可以的,但是建议大家不要这样做。在实际编程中这种写法是绝对不允许的,原因有两个:首先逗号要原样输入的,有几个就要输入几个,少一个或多一个都不行;其次,也是最主要的原因就是输入法的问题,在 scanf 中是在英文输入法下写的逗号,那么输入的时候如果是中文输入法下的逗号那也是错的。所以用逗号很容易出错