首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

赋值出现错误

2013-10-16 
赋值出现异常我声明了如下变量double temp_val, scale_valint iunsigned char avg1, avg2unsigned int

赋值出现异常
我声明了如下变量


double temp_val, scale_val;
int i;
unsigned char avg1, avg2;
unsigned int var1, var2;

avg1 = avg2 = 79;
i = 0;
scale_val = (double)(var1/var2);
temp_val = scale_val * i + avg2 - scale_val * avg1 + 0.5;

调试时,观测到scale_val * i + avg2 - scale_val * avg1 + 0.5的值为0.5,但是temp_val赋值后值变成-1.#IND000000000。
当temp_val的值分开赋,如下

temp_val = scale_val * i;
temp_val += avg2;
temp_val -= scale_val * avg1;
temp_val += 0.5;

这时候调试temp_val的值是正常的,请问是哪里出了问题?
[解决办法]
scale_val = (double)(var1/var2);
似应改为
scale_val = (double)var1/(double)var2;

热点排行