main()
{
int sigh=1;
float deno=2.0,sum=1.0,term;
while(deno<=100)
{ sigh= -sigh;
term= sigh/ deno;
sum=sum+term;
deno=deno+1;
}
printf(“%f”,sum);
}
为什么这个会变成1+1/2-1/3+1/4...... 而不是1-1/2-1/3-1/4
sigh=-sigh难道不是把分子都变成了-1了么?
main()
{
int sigh=1;
float deno=2.0,sum=1.0,term;
while(deno<=100)
{ sigh= -sigh;
term= sigh/ deno;
sum=sum+term;
deno=deno+1;
}
printf(“%f”,sum);
}
为什么这个会变成1+1/2-1/3+1/4...... 而不是1-1/2-1/3-1/4
sigh=-sigh难道不是把分子都变成了-1了么?
sigh= -sigh; 是每次都将sigh取反.
如第一次是1. 那么第二次是-1 第三次是1 第四次是-1..... 一直到循环结束.
如果要让其一直等于-1的话. 就要将sigh= -sigh; 放到循环之前执行.