在bool = false 时,先赋值,bool为false ,跳过第一个if,然后到第二个,这时bool为false,跳过,第三个!bool为true,输出,所以为C

解决方案 »

  1.   

    这题主要是别被boolean bool = true; if(bool = false) 误导!
      

  2.   

    boolean bool = true;
    if(bool = false) {//boole=false,if(false),so print nothing
     System.out.printIn(“a”);
    } else if (bool) {//else if(false),also print nothing
     System.out.printIn(“b”);
    } else if (!bool) {//else if(!false),print c
     System.out.printIn(“c”);
    } else {
     System.out.printIn(“d”);
    }
      

  3.   

    居然有这样出题的!太不负责任了,这简直是误人子弟嘛,if,while,for的条件语句中是不允许赋值语句出现的...
      

  4.   

    if(bool = false) 是将bool赋值为false
    if(bool == false)是判断bool是否等于false
      

  5.   

    居然有这样出题的!太不负责任了,这简直是误人子弟嘛,if,while,for的条件语句中是不允许赋值语句出现的...不完全是,条件语句中是不允许对对象进行赋值,boolean可以
      

  6.   

    c++中可以在判断语句中赋值.
    such as if(bool = false)//after run,bool==false
      

  7.   

    这是java版呢, "if(bool = false)" 编译都通不过,何来的c啊.
    而且就算是c++,"if(bool = false)"这样的东西也应该是抛弃的吧,反
    正我觉得没有任何一个正规公司不拒绝这种写法,而且还要在编程规范
    中指正出来.
    不要说我等凡人,就算那些大牛,大师,估计也不愿这么写代码吧.谁没看
    花眼的时候,所以还是代码检查工具好,出来这种代码杀无赦.
    如果哪个公司给我出这样的题,我马上走人,鄙视加厌恶.
    不是针对作者,而是想借作者的光,说一下编程规范的重要性.