今天看了谭浩强的书,用VC6.0实现了其中一个程序段,如下: #include<stdio.h> void main() { float f; double d; d=123.456789e100; f=d; //f=1e1; printf("f=%f\n",f); printf("d=%f\n",d); } 按照以前的认识和书上讲的,将如此大的数赋给一个float变量必定溢出,但是结果如下图: 看最后结果 f和d输出的结果是一样的,请问这是什么情况? 环境是64位win7/VC++6.0 |
|
5分 |
VC6不会连float和double都傻傻分不清楚吧,这么大的数foat没法放
|
5分 |
珍惜生命,远离VC6
|
版主,我就是随便看看,我记起里没有装VS,这个问题是VC的bug么? |
|
难道这是VC的bug么?能把一个超范围的数直接放到float变量里? |
|
5分 |
vs2008下溢出了
|
5分 |
不要再用VC6了,好吗?
vs2015都要出来了。用下vs2013吧,实在是太优雅了。 |
求大神指点迷津。
|