float i = 2 / 3 ;
float j = 2 % 3;大家觉得i和j的值应该是多少?i=0.0
j=2.0

解决方案 »

  1.   

    i 是0.0是对的,因为是两个整型相除
    如果你这样:
                float i = (float)2.0 / 3;
    就等于0.66666...
     j= 2.0也是对的啊,这是取模啊
      

  2.   

    float i = (float)2 / 3;
    float j = (float)2 % 3;
      

  3.   

    不奇怪
    你再试试float i= 2.0 / 3.0 ; 
    看看是多少
      

  4.   

    float i1 = (float)2 / (float)3;
    float j1 = (float)2 % (float)3; i1 = 0.666667
    j1 = 2
      

  5.   

    晕,大家回复得这么快float i = 2 / 3 ;里面的2 3 认为是整数类型,所以2/3得到的是一个整数0。
      

  6.   

    有何问题?
    int/int结果还是int,然后才转成float
    int%int同理。。
      

  7.   

    一点都不奇怪2 / 3和2 % 3返回的都是整数,是Int,而不是float,虽然它可以隐性表示为float
      

  8.   

    也就是说2/3本来返回的是一个int,即0,而定义float i=一个整数,是正确的,因为float的范围比它大相当于定义float i=0; 2%3同理