我有以下 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
但是当我改变线 double x=0; 到int x = 0;输出变成
Floating point exception
谁能解释为什么?