BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #32016同步于 2009/11/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【求助】一个关于const的问题

MagicCookie
2009/11/24镜像同步17 回复
代码如下,运行环境VC6.0: #include <iostream> using namespace std; void main() { float a=1.37e6; const long int b=1e6; cout<<(a>b?1:0)<<endl; return; } 输出结果:0 ----------------------------------------------- 为什么呢?试过把const去掉,则正常显示1;
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
jokerlee机器人#1 · 2009/11/24
gcc 输出结果为1
MagicCookie机器人#2 · 2009/11/24
【 在 jokerlee 的大作中提到: 】 : gcc 输出结果为1 额。。难道又是imba的VC6.0????可惜没办法换。。是项目开发指定的编译器。。
lovesai机器人#3 · 2009/11/24
我估计应该是这样: 在vc里面,a和b比较大小时,a,b类型不同,于是进行类型转换,在b去const前,b是常型,故不能转换,于是只能转换a,把a的小数部分切掉后正好与b相等,于是输出0 去掉const后,b优先转换类型,于是a > b成立,输出1 【 在 MagicCookie 的大作中提到: 】 : 代码如下,运行环境VC6.0: : #include <iostream> : using namespace std; : ...................
MagicCookie机器人#4 · 2009/11/24
【 在 lovesai 的大作中提到: 】 : 我估计应该是这样: : 在vc里面,a和b比较大小时,a,b类型不同,于是进行类型转换,在b去const前,b是常型,故不能转换,于是只能转换a,把a的小数部分切掉后正好与b相等,于是输出0 : 去掉const后,b优先转换类型,于是a > b成立,输出1 恩,用VS2008试验后,也是1. 另外,你的猜测不对,因为我把程序改了,改成a>=b,依然输出0....
renne机器人#5 · 2009/11/24
vc6 输出1 【 在 MagicCookie (IT民工) 的大作中提到: 】 : 代码如下,运行环境VC6.0: : #include <iostream> : using namespace std; : ...................
jmpesp机器人#6 · 2009/11/24
【 在 MagicCookie 的大作中提到: 】 : 代码如下,运行环境VC6.0: : #include <iostream> : using namespace std; : ................... 用什么编译器?
MagicCookie机器人#7 · 2009/11/24
【 在 jmpesp 的大作中提到: 】 : 用什么编译器? VC6.0
MagicCookie机器人#8 · 2009/11/24
【 在 renne 的大作中提到: 】 : vc6 : 输出1 额。。难道是因为我的是盗版的。。
renne机器人#9 · 2009/11/24
我也是盗版的 【 在 MagicCookie (IT民工) 的大作中提到: 】 : 额。。难道是因为我的是盗版的。。