#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)输出,接着第三句,然后才是第一句