Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112885
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-08 01:37:51

关于1.#INF00之错误数据

1.#INF00错误数据

int main()
{
int i;
float arr[280],sum=0;
for(i=0;i<280;i++)
{
sum+=(float)1/i+2;
printf("%f\n",sum);
arr[i]=sum;
}
return 0;
}

就是上面这个程序.所有的数据都是1.#INF00.

数组越界。除0等操作可能导致该现象 .

因为sum+=(float)1/i+2;
应该是sum+=(float)1/(i+2);

/的优先级比+,导致1/0.所以sum=1.#INF00.之后再加也是它.

 

阅读(253) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~