额。。请问一下你怎么手算出来是1.1多的?明显手算就是(8+5)/2=6.5。int main(void){
double result = 0.0;
int a = 5;
int b = 8;
result = (double)(a+b) / 2; //这里是指你算的时候将整型变量a,b强制转换成double 类型并除以2,然后输出结果应该是double类型
//则输出结果应该是result = 6.500000
printf("result=%.2e",result); //你采用的是科学技术法输出,并且有效小数位数是两位,那结果应该就是6.50e+000撒。相当于是6.50乘以e的0次方。
//所以输出正确。是你自己计算错误。
return 0;
}
|