C语言中的三目运算符 ?: 的新用法

说明: 该运算符不仅能用在变量之间,竟然还可以用在函数之间,相当于可传参数的函数调用

 void show_1(int val)
 
{
     cout << "function show_1 called! and var is "<< var <<
 endl;
 
}
 

 
 void show_2(int
 val)
 
{
     cout << "function show_2 called! and var is " << var <<
 endl;
10 
}
11 

12 
13 void
 quest_test()
14 
{
15     int 0
;
16     int 1, 2
;
17     (c++ b)--
;
18     cout <<  << and  << <<
 endl;
19     (c b)++
;
20     cout <<  << and  << <<
 endl;
21     (c show_1 show_2)(100
);
22 
}
23 

24 
25 
最后的输出是
26 and 1

27 and 1
28 function show_1 called and var is 100!

 

其中:

   

(c ? show_1 : show_2)(100);

其实等同于

if (c)
  show_1(100);
else
  show_2(100);

 

另类函数调用,可作参考

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值