scanf语句中的变量前面应加上“&”号,如果少了“&”号,能编译通过,但运行会出错。同理,如果格式符中多了“\n”号,编译系统也不能查出错误。
【例1.4】演示scanf语句多了“\n”号的错误。
#include <stdio.h> void main () { double x=0 ; scanf ("%Lf\n" ,&x ); printf (" 输出x :%Lf\n" ,x ); }
编译系统不能查出scanf语句使用的错误,如果运行这个程序,在接收一个数据之后,并不继续运行。只有再随便输入一个数据,它才会继续运行下去。下面是一个运行示范。
45.6 67.8 输出x :45.600000
程序需要再输入一次才能继续运行下去,程序的运行无疑不合要求。