该程序基于K&R中输入/输出部分的程序
#include <stdio.h>
main(){
double sum, v;
sum = 0;
while (scanf("%1f",&v)==1)
printf("\t%.2f\n",sum+=v);
return 0;
}
它编译正常。但是在尝试运行时,任何输入的输出都是“-NAN”,可能不是数字。我不知道为什么。任何意见,将不胜感激。
该程序基于K&R中输入/输出部分的程序
#include <stdio.h>
main(){
double sum, v;
sum = 0;
while (scanf("%1f",&v)==1)
printf("\t%.2f\n",sum+=v);
return 0;
}
它编译正常。但是在尝试运行时,任何输入的输出都是“-NAN”,可能不是数字。我不知道为什么。任何意见,将不胜感激。
scanf 中的格式代码错误。它应该是%lf
(小写 L),而不是%1f
.
while (scanf("%lf",&v)==1)
这是因为%lf
扫描一个双精度,并%f
扫描一个浮点数。有关详细信息,请参阅scanf 格式代码。
尝试将双精度数更改为浮点数。
scanf("%1f",&v)
你读的是一个浮点数,但你的变量是一个双精度数。尝试:
scanf("%lf",&v)