本帖最后由 张家伟2014 于 2014-6-7 21:02 编辑
首先复习两个知识点: 一、逻辑与 格式:条件A && 条件B 运行过程: 总是先判断条件A是否成立, 如果条件A成立,接着会再判断条件B是否成立,如果条件B成立,结果为1,即真。如果条件B不成立,结果为0,即假。 如果条件A不成立,不会再判断条件B是否成立,因为无论条件B如何,结果都为0,即假。 二、x++的运算过程: 先将x的值拷贝出来一份,然后对x执行+1操作,最后将拷贝出来的值返回。 下面来对号入座: - x++ == 2 && (++y == 2 || ++x > 3)
复制代码 条件A:x++ == 2条件B:(++y == 2 || ++x > 3) 运算过程: 先判断条件A是否成立,根据运算符优先级,可知首先进行运算的是x++,先将x的值拷贝出来一份(拷贝出来的值为1),然后对x执行+1操作(此时x的值为2),最后将拷贝出来的值返回,即1 == 2,为假,如果条件A不成立,不会再判断条件B是否成立,所以y没有进行任何操作,值为初值。
|