为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C C# C++
化糖 2017-07-28 16:42:25
#include<stdio.h> int main(){ double i; for(i=0;i!=10;i+=0.1)//i!=10是重点 {  printf("%.lf\n",i); }  return 0; }这个程序的输出是(无限循环):为什么会这样呢?
查看完整描述

5 回答

已采纳
?
蒹葭苍苍白露为霜

TA贡献14条经验 获得超13个赞

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

查看完整回答
1 反对 回复 2017-07-28
?
留得枯荷听雨声lyx

TA贡献51条经验 获得超16个赞

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

查看完整回答
1 反对 回复 2017-07-28
?
__innocence

TA贡献313条经验 获得超208个赞

for(int i=0;

你定义了i的类型是int,所以i+0.1依旧等于0


查看完整回答
1 反对 回复 2017-07-28
  • 5 回答
  • 0 关注
  • 2479 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信