1.7 scanf要“&”不要“\n”

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
  

程序需要再输入一次才能继续运行下去,程序的运行无疑不合要求。

《C语言解惑》