int a=25, b=14, c=19;求:a=b<c?(a>b?c:b):c要求祥解
- 提问者网友:浮克旳回音
- 2021-08-23 12:19
- 五星知识达人网友:天凉才是好个秋
- 2021-08-23 12:53
a=b<c?(a>b?c:b):c
拆开:b<c?(a>b?c:b) 【a>b?c:b 如果A大于B返回C,反之返回B】
同样道理拆开前面的
- 1楼网友:掌灯师
- 2021-08-23 16:26
int a=25, b=14, c=19;求:a=b<c?(a>b?c:b):c
三元运算:表达式?表达式成立返回的值:表达式不成立返回的值
我a,b,c放到a=b<c?(a>b?c:b):c中去就是: a=14<19?(25>14?19:14):19
我们看表达式执行步骤:
1. b<c?(a>b?c:b):c ---- 14<19?(25>14?19:14):19 .......因为14<19成立,所以返回(25>14?19:14) ,执行第2步
2. (25>14?19:14) 因为25>14,所以返回19
所以结果为 a=19;
- 2楼网友:大漠
- 2021-08-23 15:50
三元运算符若?左边的式子成立则a=?后面:左边的值.如果不成立则a=:右边的值;
分析:
如果b<c成立 -> a=:前面的值即(a>b?c:b)-> 25 >14成立 -> a=c=19
如果b<c不成立 -> a=:后面的值 即(c) -> a=c=19
- 3楼网友:洎扰庸人
- 2021-08-23 15:13
对于 表达式1 ? 表达式2 : 表达式3 这个三元运算符 , 先看表达式1的值是1还是0 若是1 则整个表达式的结果为表达式2的值, 若是0 , 则整个表达式的结果为表达式3的值
表达式 a=b<c:(a>b?c:b):c 从左向看 第一个小表达式是 b<c 这个表达式的值是 1 所是它整个表达式的结果是 中间括号里的值 而不是 后面的那个c的值, 而中间括号里的 第一个小表达式是 a>b 这个表达式的值是 1 所以括号里的值为 括号里里面的中间那个c的值 故最后的结果 是a=c=14;
- 4楼网友:英雄的欲望
- 2021-08-23 14:18
开始int a=25, b=14, c=19
开始b<c 14<19为真,就执行a>b?c:b
a>b 25>14就为真 结果就为 c=19
a=c=19就是结果