zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS开发-【C语言】三目运算符详解手机开发

iosC语言手机开发 详解 运算符 三目
2023-06-13 09:20:15 时间

1.N目运算符

像逻辑非(!)、负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5、-5。
像算术运算符、关系运算符、逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7、8*5、5 6、4 0、
以此类推,连接3个数据的运算符,应该称为“三目运算符”

 2.三目运算符

C语言提供了唯一一个三目运算符:条件运算符。
1 使用格式

表达式A ? 表达式B : 表达式C
2 运算结果

如果表达式A成立,也就是为“真”,条件运算符的结果就是表达式B的值,否则,就为表达式C的值
3 结合方向和优先级

优先级顺序为:算术运算符 关系运算符 条件运算符 赋值运算符
条件运算符的结合方向是“从右至左”

int a = 3 4 ? 4+5 : 5 4 ? 5+6 : 6 

上面的代码等价于

int a = (3 4) ? (4+5) : ( (5 4) ? (5+6) : (6 (7+1)) );

简化一下就是

int a = 0 ? 9 : ( 1 ? 11 : 0 );

继续简化为

int a = 0 ? 9 : 11;

所以a的值是11

 

 

 1 // 三目运算符 条件 ? 数值1 : 数值2 

 3 //int a = !100 ? 9 : 89; 

 5 //printf("a=%d/n", a); 

 8 #include stdio.h 

10 int main() 

11 { 

12 /* 计算2个整数之间的最大值 

13 int a = 10; 

15 int b = 99; 

17 int c = a b ? a : b; 

19 printf("c is %d/n", c); 

20 */ 

22 // 计算3个整数之间的最大值 

23 int a = 10; 

24 int b = 999999; 

25 int c = 1000; 

27 // 求出a、b的最大值 

28 int abMax = (a b) ? a : b; 

29 // 求出最终的最大值 

30 int d = (abMax c) ? abMax : c; 

32 //int d = (((a b) ? a : b) c) ? ((a b) ? a : b) : c; 

34 printf("d is %d/n", d); 

35 return 0; 

36 }

 

6099.html

app程序应用开发手机开发无线开发移动端开发