C for循环中的相等性测试

C for循环中的相等性测试,c,for-loop,equality,C,For Loop,Equality,我现在正在写一个程序,用泰勒级数和计算反正切。代码的中心部分如下所示: for(int i=0;i<n;i++) { firstval=sum; //sum=0 sum=sum+sumterm(x,i); //calculate the sum if(fabs(sum-firstval)<delta) //delta=10e-6 { s=i; } else s=0; } for(int i=0;i您可能希望改用wh

我现在正在写一个程序,用泰勒级数和计算反正切。代码的中心部分如下所示:

for(int i=0;i<n;i++)
{
    firstval=sum; //sum=0
    sum=sum+sumterm(x,i);   //calculate the sum
    if(fabs(sum-firstval)<delta) //delta=10e-6
    {
        s=i;
    }
    else s=0;
}

for(int i=0;i您可能希望改用while循环。退出while循环的条件可能是:

while (fabs(sum-firstval)>delta)

否则,其他建议(在变量
s
被赋值为
i
后使用中断符)也要工作。

注意,
10e-6
1.0E-5
。在设置
s=i;
之后,您可能需要使用
break;
,这样您就不会再循环了。实际上,您得到的是
i==n-1
,并且增量足够小,您可以再次设置
s=i;
,这就是为什么您会看到所看到的内容。您大概是如果您的
if
条件为真,则nt结束循环,因此您应该在
s=i
之后放置一个
break
。这现在起作用了,谢谢!