C语言 “ || “和 “ && “运算符的用法

" || " " && "都是双目运算符,也就是有两个操作数的运算符

" || " 逻辑或

" || "的意思是逻辑或,字面来解释就是逻辑意义上的"或"

a || b 就是 a或b。也就是说a和b只要有一个为真该条件判断就为真,即两者都为假该才为假

同时使用该运算符时表示的是一种条件判断,运算后的值为真就返回1(VS上),为

假就返回0(&&也是如此)

"短路"现象:程序运行时,按照从左往右的顺序进行,又因为" || "逻辑或的判断只要有一个为真,该运算就为真,所以在如果运算符左边的操作数,也就是a为真,那无论后面的b是真还是假,该运算结果一定是真,所以没有必要去判断b的真假,b就会直接被程序忽略跳过,不会进行

" &&" 逻辑与

" && "的意思是逻辑与,字面解释就是逻辑意义上的"与","和"

a &&b 就是a与b,a和b。也就是说a和b只要有一个为假该条件判断就为假,即两者都为真才为真

"短路"现象:运算符左边的操作数,即a为假,则无论后面的b是真还是假,该运算结果一定是假,所以程序运行时会直接跳过b的执行

优先级问题:

简单来说,运算符优先级为:!>算术运算符>关系运算符>&&> || > 赋值运算符

要注意的是,&&优先级大于 ||

如下图

如果 || 的优先级大或者两者优先级同级,都应该先进行 || 运算,两边的值都为非零,即为真,所以"逻辑或"结果是真,即为1,所以右式为 1 && 0,后边为0,即为假,所以"逻辑与"的结果就是假,所以得到0。与事实不符,可得&&优先级更大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值