【C语言学习记录15】逻辑运算符

逻辑运算&&,||和!真的很简单么? 

结果为:

1 0 0

与的优先级高于或

程序中的短路:

1)||从左向右开始计算

       a>当遇到为真的条件时,停止计算,整个表达式为真。

       b>所有条件为假时表达式为假。

2)&&从左向右开始计算

       a>当遇到为假的条件时停止计算,整个表达式为假。

       b>所有条件为真时表达式才为真。

逻辑表达式中,&&比||具有更高的优先级。

&&||混合运算时,整个表达式被看作||表达式,编译器从左向右开始计算&&表达式,当某个&&表达式的值为真时,停止计算,整个表达式的值为真。

打印In f()…

        In main: 1

C语言中的逻辑非“!”只认得0,只知道见了0就返回1.因此当碰见的值不是0时,其结果为0。

小结:

1)程序中的逻辑表达式遵从短路原则;

2)在&&与||混合运算时:

a> 整个表达式被看作||表达式;

b> 从左向右先计算&&表达式;

3)逻辑非!运算符只认得0:

a> 碰见0返回1,否则统统返回0。

只有0才代表假,其余的所有值均代表真。

猜你喜欢

转载自blog.csdn.net/haibing_x/article/details/94591323