简单的问题,我有以下的C程序:约“浮点异常”用C
#include <stdio.h>
int main()
{
double x=0;
double y=0/x;
if (y==1)
printf("y=1\n");
else
printf("y=%f\n",y);
if (y!=1)
printf("y!=1\n");
else
printf("y=%f\n",y);
return 0;
}
我得到的输出是
y=nan
y!=1
但是,当我更改线路 双X = 0 ; 至 int x = 0; 输出变为
Floating point exception
任何人都可以解释,为什么?
什么时候所有关于精度,双精度,小数点和浮点数的问题都会消失? http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html – JonH
您除以零,这是不允许的。 –