设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
C语言问题
返回列表
发新帖
C语言问题
[复制链接]
11
|
3
|
2011-7-30 08:41:15
|
显示全部楼层
|
阅读模式
int a=4,b=5;
float x=3.4,y=2.1;
求表达式(float)(a+b)/2+(int)x%(int)y的值。
感觉结果是5.5,可答案是5.500000.它说是浮点型,可5.5也是浮点型啊,不明白,希望解释下,谢谢啦!
回复
使用道具
举报
千问
|
2011-7-30 08:41:15
|
显示全部楼层
呵呵,你在最后算出的结果中(a+b)/2用的是float的,x,y用的是整形的,这几种类型之间都有一个转换规则的,先给你说一下由低到高的规则:最低级(int,char,short)->次级(unsigned)->第二级(long)->最高级(double,float),哎,不给你说复杂了,你这个式子中有一个数据是float型,有一个是int型,则最后的结果要转换成最高级float型的,而float型的小数点后面是有六位小数的,这下该知道了吧...
回复
使用道具
举报
千问
|
2011-7-30 08:41:15
|
显示全部楼层
浮点型在输出时会默认保存6位小数点...
回复
使用道具
举报
千问
|
2011-7-30 08:41:15
|
显示全部楼层
5.5-5.500000=0...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行