2

这给了我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);

这怎么不是零分例外?!

4

2 回答 2

12

这里

int B=-4;
double A = Math.Sqrt(1/B);

是相同的

double A = Math.Sqrt(0);

因为如果你将一个整数除以一个整数,你会得到一个整数

于 2013-04-21T13:28:13.373 回答
4

您的第一个代码相当于:

int B = -4;
int C = 1 / B;
double A = Math.Sqrt(C);

现在这样做:

Console.WriteLine(C);
于 2013-04-21T13:27:49.583 回答