C语言,vc2010为什么程序正确,输出的结果不对?

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
float fun (float h )
{
long t;
t=(h*1000+5)/10;
return (float)t/100;
}
void main()
{
FILE *wf;
float a;
system("CLS");
printf("Enter a: ");
scanf ("%f",&a);
printf("The original data is : ");
printf("%f\n\n", a);
printf("The result : %f\n", fun(a));
/******************************/
wf=fopen("out.dat","w");
fprintf(wf,"%f",fun(8.32533));
fclose(wf);
/*****************************/
}
结果:
Enter a: 1234.567
The original data is : 1234.567017

The result : 1234.569946
请按任意键继续. . .

    double a;//改
    system("CLS");
    printf("Enter a: ");
    scanf("%lf", &a);//改
    printf("The original data is : ");
    printf("%f\n\n", a);

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网