猿问

C语言的for语句为!=的情况

#include<stdio.h>
int main(){
double i;
for(i=0;i!=10;i+=0.1)//i!=10是重点
{
 printf("%.lf\n",i);
}
 return 0;
}

这个程序的输出是(无限循环):

为什么会这样呢?

化糖
浏览 2480回答 5
5回答

蒹葭苍苍白露为霜

仔细看一下,你会发现没有10这个值,因为被跳过去了,但是跳过之后他会继续执行,因为你没有跳出这个程序,如果是<10,它不会出现大于等于10的情况,所以到9.9就结束了。你可以改成<10或者加上if(a>10)break;

留得枯荷听雨声lyx

i!=10有问题,这个是结束条件,除了i==10之外的所有值都符合i!=10,所以会是无限循环

__innocence

for(int i=0;你定义了i的类型是int,所以i+0.1依旧等于0
随时随地看视频慕课网APP
我要回答