我输出是0.000000,这个位数我是能理解的,但这个0搞不明白
float a=10/3;
printf("%f\n", a);
如果我按上面这个方法定义,输出的就是3.000000,虽然还没有搞明白楼主的问题为什么输出是0.000000,但觉得对于我们初学者以后写程序还是严谨一点好,这样看的明白
[ 本帖最后由 zjjone1023 于 2011-5-11 09:50 编辑 ]那个,恩,其实,大家。。。
你们真的有运行试过么,
我试了。VC6下直接崩溃
TC,显示
printf : floating point formats not linked abnormal program termination |
然后我吧代码改为如下
#include "stdio.h" void main() { float temp; temp = 10 / 3; printf("%f\n", temp); printf("%f\n", 10 / 3); } |
这下可以运行了,但是不同编译器下显示也是不一样的
TC2.0下显示
3.000000 -2.563254318042132690000000000000000000000e+307 |
TC3.0和VC6下显示
3.000000 0.000000 |
看来真如maylove所说
我输出是0.000000,这个位数我是能理解的,但这个0搞不明白 float a=10/3; printf("%f\n", a); 如果我按上面这个方法定义,输出的就是3.000000,虽然还没有搞明白楼主的问题为什么输出是0.000000,但觉得对于我们初学者以后写程序还是严谨一点好,这样看的明白
奇怪了,现在如果直接printf("%f\n", 10/3); 编译提示出错
[ 本帖最后由 zjjone1023 于 2011-5-11 09:55 编辑 ]