| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 697 人关注过本帖
标题:表达式5+1/2的结果为什么是5而不是5.5
只看楼主 加入收藏
vtyvpn
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-6
收藏
 问题点数:0 回复次数:8 
表达式5+1/2的结果为什么是5而不是5.5
表达式5+1/2的结果为什么是5而不是5.5
搜索更多相关主题的帖子: 结果 表达 
2006-11-16 18:53
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 

因为1与2都是整数,所以1/2为整除运算,得0,0+5=5

如果改为5+1.0/2
或5+1/2.0
或5+(double)1/2
都为5.5


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-16 19:02
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
两个整数相除,小数部分都会去掉!只会保留整数部分!不是四舍五入!例如10/3就是3。1/2只取整数部分是0。

该学习了。。。
2006-11-16 19:16
vtyvpn
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-6
收藏
得分:0 
谢谢回复!
2006-11-16 21:03
☆註⊙諨☆
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-10-7
收藏
得分:0 

设置了整型了吧。。。用float就可以得到 5.5 了吧。。。


2006-11-16 21:10
minchao
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-4
收藏
得分:0 

这样应该也可以吧?
5+(float) 1/2
你把这个除法边成有小数点的他就不会自己四舍五入了吧

2006-11-16 23:41
guzhou
Rank: 1
等 级:新手上路
威 望:1
帖 子:247
专家分:0
注 册:2006-11-4
收藏
得分:0 
以下是引用☆註⊙諨☆在2006-11-16 21:10:53的发言:

设置了整型了吧。。。用float就可以得到 5.5 了吧。。。

用float也只能得到5,错误在赋值前已产生!


2006-11-17 16:47
flr126
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-17
收藏
得分:0 
用float应该可以了吧! 
我运行过了.

#include "stdio.h"
main()
{
float a;
a=5+(float)1/2;
printf("%f",a);

}
2006-11-17 21:21
KEVIN_LEE
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-11-3
收藏
得分:0 
1/2取整为0,0+5结果为5
2006-11-17 21:22
快速回复:表达式5+1/2的结果为什么是5而不是5.5
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016401 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved