简单的C程序

时间:2011-02-16 00:37:59

标签: c lexical-analysis kernighan-and-ritchie

该程序基于输入/输出部分的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”,大概不是一个数字。我不知道为什么。任何建议将不胜感激。

3 个答案:

答案 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)