[关闭]
@yy0518 2016-04-07T13:52:53.000000Z 字数 321 阅读 657

C-21 逻辑运算符

C语言学习笔记


1.逻辑表达式的求值顺序:从左往右,短路求值。

对于复杂的表达式来说,C一般不能保证哪个部分先被求值,但逻辑表达式除外。
(1)&&和||运算符是序列分界点,它们所组成的逻辑表达式按照从左往右的求值方式。对于如下表达式:

  1. while(x++ < 18 && x + y < 20 )

可以保证在判断第二个条件前,x的值加1.
(2)按照从左到右的顺序,如果一旦发现有使表达式为假的因素,则立即停止求值,有助于提高处理效率。在如下的程序中,如果count的值为0,表达式的值必为假,所以停止对后面表达式的求值,这样避免了计算机试图把0作为除数的错误。

  1. ifcount!=0 && 18/count==2
  2. printf("I win!\n");

2.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注