blackangel 2007-1-10 23:58
C语言FOR有个问题不明白
( 最近在学习C语言时,遇到了一点问题,就是FOR语句的 问题看下面的程序:
main()
{float i;
for(i=0.26;i<=0.36;i+=0.05)
printf("hao");
}
在这个程序中,为什么那个输出语句不是输出三次啊,
而是输出二次,
但只 要把那个float 改成double(双精度)就是三次了,为什么啊
难道一个单精度还不能表示一个二位小数吗,
我不解,有没有高手啊
blue_evil 2007-9-7 12:58
手头没有编辑器,回头给你试试,估计应该是精度造成的问题。
你可以这样试试,每次把i的值打出来看看,应该就可以明白了:
main()
{float i;
for(i=0.26;i<=0.36;i+=0.05)
printf("hao %f",i);
}