您的位置:首页 > 编程语言 > C语言/C++

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

2014-04-10 16:01 274 查看
说明: 该运算符不仅能用在变量之间,竟然还可以用在函数之间,相当于可传参数的函数调用

1 void show_1(int val)

2 {

3 cout << "function show_1 called! and var is "<< var << endl;

4 }

5

6

7 void show_2(int val)

8 {

9 cout << "function show_2 called! and var is " << var << endl;

10 }

11

12

13 void quest_test()

14 {

15 int c = 0;

16 int a = 1, b = 2;

17 (c++ ? a : b)--;

18 cout << a << " and " << b << endl;

19 (c ? a : b)++;

20 cout << a << " and " << b << endl;

21 (c ? show_1 : show_2)(100);

22 }

23

24

25 最后的输出是

26 1 and 1

27 2 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);

另类函数调用,可作参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: