#include<stdio.h>
int main()
{
double i;
for(i=0;i!=10.00;i+=0.1){
printf("%.1f\n",i);
}
return 0;
}
你可以百度下double 判断相等,double是不能像int一样用 == 判断,因为其本身在机器上存储的特点,会有误差
楼上的代码是正确的
一般来说应该是 fabs(i-10.00)<Epslion更准确
int类型可以直接作比较,浮点数作比较需要一个精度值,可以去网上搜一下浮点数比较
条件是 i 不等于10.00 , 当 i == 10.00 时, 条件就不满足了, 自然不循环
#include<stdio.h>
#define Epslion 1e-8
int main()
{
double i;
for(i=0;i+Epslion<10.00;i+=0.1){
printf("%.1f\n",i);
}
return 0;
}