精度问题c

nihaomaqq111 2007-05-10 01:41:11
# 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);
}
...全文
178 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuaijuan 2007-05-10
  • 打赏
  • 举报
回复
一开始有警告,提示----
warning C4305: 'initializing' : truncation from 'const double' to 'float'

编译过后就不会出现此问题了!
星羽 2007-05-10
  • 打赏
  • 举报
回复
float f=5.3f;

就好了

5.3 编译器认为他是 double

5.3f 告诉编译器是float
nihaomaqq111 2007-05-10
  • 打赏
  • 举报
回复
为什么总是有一个警告啊

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧