32位程序的话可以调用msvcrt.dll里的C函数,16位的话可以用mov ah, 1int 21...
C语言:floating point error:divide by 0 abnormal prog...
i的类型是int,最大表示范围是32767(如果sizeof(int)==2),那么当n=300的时候,i最大也可以到达300,i*i最大必须能表示90000,而i*i的结果还是int的,发生了溢出,所以在循环到达300之前可能就出现了exception了。修改之后的程序代码首先是1.0/i,那么这个计算结果可是double类型的,表达的范围很大,再次除以i,结果依旧是double