回 帖 发 新 帖 刷新版面

主题:哪位高手帮看下这个程序问题出在哪,谢谢!

#include <stdio.h>
void main()
{
double a,b,c,d,e,q,g,h;
scanf("%lf%lf%lf",&a,&b,&c);
d=(a+b+c)/3;
e=10*d,q=e+0.5;
g=(int)(q),h=g/10;
printf("%f,%f,%f\n",q,g,h);
}
我是刚刚开始学C语言,编写程序时运行没有发现错误和警告,但输出时却发现,q值变化异常,
进行强制类型转换后出现问题.变小了许多,不再是正常的强制类型转换.
谁可以帮一我,告诉我问题到底出在哪?

回复列表 (共11个回复)

11 楼

楼主要想算就用二进制表示0.25试试呗:)

我来回复

您尚未登录,请登录后再回复。点此登录或注册