10 = ?

    技术2022-05-11  142

    首先看段代码:

    double  x,y,z;            x  =   1 ;            y  =   0 ;                         try              {                               z = x / y;                Console.WriteLine(z);            }              catch  ( Exception e)             {                Console.WriteLine(e.Message );            }                         Console.ReadLine(); 你认为会输出什么?“被零除”错误?对,但是对于int类型。 开始我也是这么想。后来看到MSDN是这样定义的:

    浮点表达式可以包含下列值集:

    正零和负零。

    正无穷和负无穷。

    非数字值 (NaN)。

    有限的非零值集。

     1.0 / 0.0 = 正无穷  看来写程序不能想当然,必要的判断还是要加的,不能什么都靠try{}catch{}.

     

    最新回复(0)