读书人

精度有关问题c

发布时间: 2012-02-14 19:19:19 作者: rapoo

精度问题c
# include <stdio.h>

void main()
{
/* 定义变量并赋初值 */
int a=5;
char c= 'a ';
float f=5.3;
double m=12.65;
double result;

/* 同类型数据间进行运算并输出结果 */
printf( "a + c = %d\n ", a + c);
printf( "a + c = %c\n ", a + c);
printf( "f + m = %f\n ", f + m);

/* 不同类型数据间进行运算并输出结果 */
printf( "a + m = %f\n ", a + m);
printf( "c + f = %f\n ", c + f);

/* 将上述四个变量进行混合运算,并输出结果 */
result = a + c * (f + m);
printf( "double = %f\n ", result);
}

[解决办法]
float f=5.3f;

就好了

5.3 编译器认为他是 double

5.3f 告诉编译器是float

读书人网 >C语言

热点推荐