2012年(106)
分类: C/C++
2012-05-08 01:37:51
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.之后再加也是它.