本节书摘来自华章出版社《C语言解惑》一 书中的第1章,第1.7节,作者:刘振安 刘燕君,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
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
程序需要再输入一次才能继续运行下去,程序的运行无疑不合要求。