if else条件语句和条件(三目)运算符的应用场合

                                   if else条件语句和条件(三目)运算符的应用场合

 

      if else 条件语句与条件(三目)运算符,他们都是选择功能,在很多情况下可以通用,真的要说它们的区别的话,那估计是它们的身份不一样,If else 可以说是语句的关键字,而 A? B:C 只是一种运算符,它的结果是一个值,不能算是完整的语句。大家或许朦胧的记得,在实现同样的功能上,运用条件运算符所生成的代码一般比使用if else 的代码简洁,但这不是所有的情况都一样,要使它们达到最佳效果,应用场合是不同的。那么,在什么情况下适合用if else语句,又在什么情况下适合用条件运算符呢?下面举例:

 

/

 

Example1

 

UINT8  Disk0_Infor [32];           

UINT8    Disk1_Infor [32];            

 

if( hub_index==1 )

       mCmdParam.SaveVariable.mBuffer = Disk_Infor_Hubpotr1;

else

       mCmdParam.SaveVariable.mBuffer = Disk_Infor_Hubpotr0;

 

或使用条件运算符:

 

mCmdParam.SaveVariable.mBuffer=hub_index>0?Disk_Infor_Hubpotr1:Disk_Infor_Hubpotr0;

 

///

 

Example2

 

if(PageIndex!=0)

{

PageIndex--;

}

else

{

PageIndex=PageIndexSum;  

}

 

或使用条件运算符:

 

PageIndex =   PageIndex!=0 ? PageIndex-- : PageIndexSum;

/

 

首先,经过测试,它们都能实现预期的目的,然后我查看了它们生成的代码。Example1使用条件运算符的代码少些。Example2使用 if else 的代码少些。因为Example1中的选择条件和分支语句都显得比较简单,所以适合条件运算符的。而Example2则相反,吃力不讨好,代码增多了,CPU资源占多了,可读性也差了,故在这种比较复杂的情况下,用if else 语句还省codecpu资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值