&&和||的短路特性

&&和||运算有一个短路特性简单叙述如下。

要使(表达式1)&&(表达式2)运算结果为真则要求:表达式1,表达式2都为真,如果表达式1为假,则不计算表达式2了,因为此时已经确定(表达式1)&&(表达式2)运算结果不可能为真,这就是&&运算的短路特性。

要使(表达式1)||(表达式2)运算结果为假则要求:表达式1,表达式2都为假,如果表达式1为真,则不计算表达式2了,因为此时已经确定(表达式1)||(表达式2)运算结果不可能为假,这就是||运算的短路特性。

#include<stdio.h> 
int main(void)
{
 	int a=0,b=1;
 	if(a++&&b++)
 	{
 		printf("a=%d  b=%d\n",a,b);
 	}
	 else
 	{
 		printf("a=%d  b=%d\n",a,b);	//因为&&短路特性,应执行此句,且b++不执行 
 	}
 	if(a++||--b)
 	{
 		printf("a=%d  b=%d\n",a,b);    //因为||短路特性,应执行此句,且--b不执行 
 	}
 	else
 	{
 		printf("a=%d  b=%d\n",a,b);
 	}
	return 0;
}

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值