Which three are valid declarations of a float? (Choose Three) A.float foo = -1; 
B.float foo = 1.0; 
C.float foo = 42e1; 
D.float foo = 2.02f; 
E.float foo = 3.03d; 
F.float foo = 0x0123; 有什么规律吗,
在机器上测试如下:
   如果是整数,则int float double 都可以
   如果是小数,则double可以,  float不行(小数后面带f才行)   可是非十进制则好像没限制   正解是啥子呢?

解决方案 »

  1.   

    另外
      for(;;)是什么意思?
      

  2.   

    for(;;)相当于while(true){}
    即死循环
      

  3.   

    编译器默认把一个整数,比如 2 当做int类型来处理
    ……
    建议你复习下基础数据类型for(;;)就是死循环。
      

  4.   

    A.float foo = -1;
    F.float foo = 0x0123; 
    是可以的,因为从int型转为float型不会损失精度B.float foo = 1.0; 
    C.float foo = 42e1; 
    E.float foo = 3.03d; 
    不可以,原因都是从double型转为float型会损失精度42e1是科学记数法,实际上是420.0
      

  5.   

    感谢的话不说啦,
    在问个问题,马上结贴:对于:  B.float foo = 1.0;
    是否编译器会把它(1.0)默认为double类型处理??