#include
int main(void)
{
double i;
for(i=0;i<=10.1;i+=0.1)
{
printf("%.1lf\n",i);
printf("%lf\n",i);
printf("%d\n",(int)i);
if(i>=9.9)
break;
}
return 0;
}
除了次序顛倒的問題外,還想問一下,比如i==1.199999,在此程序以double輸出時卻變成了1.100000
次序顛倒的問題的話,說的詳細點吧,程序運行後的輸出是%lf,%d,%.1lf
也就是先第二句printf("%lf\n",i)輸出,接著第三句,然後才是第一句
輸出次序顛倒?沒明白
別用浮點或者雙精度類型做步長,不准確的。不是你想象的每次剛好加0.1