(一)逻辑与&&、逻辑或||
逻辑运算符的短路特性:
逻辑与&&“短路”:当逻辑与&&的左操作数为逻辑假时,就足以判断该逻辑运算的结果为假了,故右操作数就不再被执行
逻辑或||“短路”:当逻辑或||的左操作数为逻辑真时,就足以判断该逻辑运算的结果为真了,故右操作数就不再被执行
1、c语言中&&是逻辑与运算符
有以下三种情况:
(1)当逻辑与左边为false(假),则不再进行逻辑与右边的判断,结果为false(假)
(2)当逻辑与左边为true(真)则进行右边判断,右边为false(假),结果为false(假)
(3)当逻辑与左边为true(真)则进行右边判断,右边也为true(真),则结果为true(真)
2、||是逻辑或运算符
有以下三种情况:
(1)当逻辑或左边为true(真),则不再进行逻辑或右边的判断,结果为true(真)
(2) 当逻辑或左边为false(假),继续逻辑或右边的判断,如果也为false(假),结果为false(假)
(3)当逻辑或左边为false(假),继续逻辑或右边的判断,如果为true(真),结果为true(真)
(二)按位与&、按位或|
按位与对所有的表达式都要判断,逻辑与运算符第一个表达式不成立的话,后面的表达式不运算,直接返回。