该程序基于输入/输出部分的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”,大概不是一个数字。我不知道为什么。任何建议将不胜感激。
答案 0 :(得分:6)
scanf中的格式代码错误。它应该是%lf
(小写L),而不是%1f
。
while (scanf("%lf",&v)==1)
这是因为%lf
扫描了一个double,%f
扫描了一个float。有关详细信息,请参阅scanf format codes。
答案 1 :(得分:0)
尝试将double更改为float。
答案 2 :(得分:0)
scanf("%1f",&v)
你读一个浮点数,但你的变量是一个双精度数。尝试:
scanf("%lf",&v)