这给了我0:
int B=-4;
double A = Math.Sqrt(1/B);
但是这个NaN
double A = Math.Sqrt(-4);
第一次计算怎么可能没有失败,或者至少没有返回NaN,还有一个负数的平方根
编辑:谢谢你的回答。我将添加这个: int B=0;
double A = 1/Math.Sqrt(B);
为什么这不是零除法异常?!
答案 0 :(得分:12)
这里
int B=-4;
double A = Math.Sqrt(1/B);
与
相同double A = Math.Sqrt(0);
因为如果将整数除以整数,则会得到一个整数
答案 1 :(得分:4)
您的第一个代码相当于:
int B = -4;
int C = 1 / B;
double A = Math.Sqrt(C);
现在这样做:
Console.WriteLine(C);