&是按位与,&&是并且条件(and),++i(前增量) i首先自身加1后,再参与运算

解决方案 »

  1.   

    if(false && (++i<100))  这句话是里++i是不会执行的,因为&&运算符从左到友执行,当碰到"非"时就返回false后面的语句不执行了,所以后面运行的结果也是1。
      

  2.   

    短路AND运算符&&:如果第一个操作数为假,那么不管第二个操作数是什么结果都为假。即在短路与运算中,如果第一个数为假,那么系统不会去计算后面的操作数就直接得到结果为假。
      

  3.   

    一个&和两个&不同的,如果用在判断语句中就是短的判断,即第一个为false即为false不用判第二个了。用在普通语句中就是按位或。
      

  4.   

    faint, should start from c
      

  5.   

    &是按位与,false是假,假与上任何值均为假,所以第一个if中的语句不会执行。而条件表达式中的++i是会执行的。第二个if的情况楼上几位讲得很清楚:)
      

  6.   

    和if(true || (++i<100))一样的道理,后面的++i也不会执行.:)
      

  7.   

    &是按位与,&&是逻辑与
      

  8.   

    if(false & (++i < 100))
    false & (++i < 100)整个是一个逻辑表达式,相当于全0的数与(++i < 100)的结果进行按为与操作,此时++i得到执行
    if(false && (++i<100))
    false && (++i<100)是两个逻辑表达式的与操作,编译器在逻辑表达式中发现一个false则立即退出返回false,所以++i不能够执行
      

  9.   

    &是按位与,&&是逻辑与