一个C程序为什么运行结果为-inf
int main(){
int i = 0;
double sum = 0.0;
int flag = 0;
for (i = 0;i <= 100;i++)
{
if (i % 2 == 0)
flag = -1;
if (i % 2 != 0)
flag = 1;
sum += flag * 1.0 / i;
}
printf("%If\n", sum);
return 0;
}
为什么运行结果为-inf i的初始值为0,不能作为分母 #include <stdio.h>
int main()
{
int i = 0;
int flag = 0;
double sum = 0;
for(i = 1 ;i <= 100 ;i++)//这里i初始化不能为0,否者会出错误!
{
if(i % 2 == 0)
{
flag = 0;
}
if(i % 2!= 0)
{
flag = 1;
}
sum = sum + flag * 1.0 / i;
}
printf("%lf\n",sum);
return 0;
}
运行结果为:2.937775
i 初始化不能为0,第一次初始化计算为0计算机就不知道怎么运行了,所以就出错 sum += flag * 1.0 / i;
0不能分母
页:
[1]