作业帮 > 综合 > 作业

如同,for里面的i,能不能用float来定义?为什么?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/05 05:07:36
如同,for里面的i,能不能用float来定义?为什么?
如同,for里面的i,能不能用float来定义?为什么?
追问:不能.因为不管是float,还是double,都不能够精确的保存.回答:论绝对精确的话,你会发现,没有一种类型是绝对精确的,而for只会判断真假,不判断数据类型.追问:但是有人说:如果定义i为float,那么就会导致i再for中的最后一次循环出问题,就说上图,有可能最后一次循环,因为定义float,我刚刚说了,float不能够精确的保存,那么,在最后一次的循环中,i的值有可能为100.000001,这样一来,最后一次的循环,就会因为100.000001比100大0.000001,导致最后一次循环被跳过,就会只循环99次.你看那个图,你就知道了~回答:对,你说的没有错,但是有时候用float确实必须的,如果真需要用float,也是可以用的,但是考虑到精度的问题,我们一般写成这样子for(float i,abs(i-100)