for( int a=0;(1/a)>1e-5;a=a+2)为什么只循环一次

来源:百度知道 编辑:UC知道 时间:2024/07/02 00:55:24
c++语言
错了 A=1

这也太厉害了,没出现除数为0的异常?

……
你试试:
for(int a = 1; (1/(float)a) > 1e-5;a = a +2)

这种情况一般都类型的隐式转换造成的。在为int型时,如果,数小于1,就自动变为0了。

你要把(1/a)强制转换成浮点型,不然他会把1/2当作0的
还有啊,第一次循环的时候1/0有意义么??

会报错吧,a不能为0