2

该程序基于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”,可能不是数字。我不知道为什么。任何意见,将不胜感激。

4

3 回答 3

6

scanf 中的格式代码错误。它应该是%lf(小写 L),而不是%1f.

 while (scanf("%lf",&v)==1)

这是因为%lf扫描一个双精度,并%f扫描一个浮点数。有关详细信息,请参阅scanf 格式代码

于 2011-02-16T00:40:49.030 回答
0

尝试将双精度数更改为浮点数。

于 2011-02-16T00:40:55.243 回答
0
scanf("%1f",&v)

你读的是一个浮点数,但你的变量是一个双精度数。尝试:

scanf("%lf",&v)
于 2011-02-16T00:41:16.663 回答