哪些是条件运算符?一元二元三元运算符?
答案:3 悬赏:30 手机版
解决时间 2021-07-18 02:39
- 提问者网友:轻浮
- 2021-07-17 03:56
哪些是条件运算符?一元二元三元运算符?
最佳答案
- 五星知识达人网友:荒野風
- 2021-07-17 05:34
看你的问题觉得你没有分清条件运算符和条件表达式
条件运算符“?:”是三元的运算符。由这个运算符构成的表达式为条件表达式。
条件表达式的格式为: e?e1:e2 其中,e、e1、e2 代表表达式。
条件表达式的求值法则是:首先求解 e 的值,若 e 值为真(非 0),则取 e1 的值作为
条件表达式的值;若 e 值为假(0),则取 e2 的值作为条件表达式的值。
用赋值表达式描述如下:
y=(x>=0)?1:-1 式中赋值号右边的是条件表达式。
又例如,若 a、b 的初值分别为 2 和 5,则条件表达式
a>b?a++:++b;
的值为++b,即先自加,后引用,值为 6,而表达式 a++不被求解,
故执行后 a 不变,仍为2,而 b 变为 6。
有a=1,b=2这时我们要求是取ab两数中的较小的值放入min变量中,也许你会这样写:
if (a<b)
min = a;
else
min = b; //这一段的意思是当a<b时min的值为a的值,否则为b的值。
用条件运算符去构成条件表达式就变得简单明了了:
min = (a<b)?a : b
很明显它的结果和含意都和上面的一段程序是一样的,但是代码却比上一段程序少很多,编译的效率也相对要高,但有着和复合赋值表达式一样的缺点就是可读性相对效差。在实际应用时根据自己要习惯使用,就我自己来说我喜欢使用较为好读的方式和加上适当的注解,这样可以有助于程序的调试和编写,也便于日后的修改读写。
全部回答
- 1楼网友:猎心人
- 2021-07-17 07:12
x>y?a:b 是三元运算符
a+b=c 两元远运算副
!(取反) 一元运算符
- 2楼网友:不如潦草
- 2021-07-17 05:59
? 运算符 三元
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯