http://www.mybulut.com

                                                                  【幸运五分彩计划】三目运算符是什么-常见问题

                                                                  三目运算符详解

                                                                  对于有些选择分支结构,可以使用简单的条件运算符来代替。如:

                                                                  if(a<b)    min=a;else    min=b;

                                                                  可以用下面的条件运算符来处理

                                                                  min=(a<b)?a:b;

                                                                  其中&q,uot;(a<b)?a:b"是一个"条件表达式",它是这样执行的:如果a<b为真,则表达式取a值,否则取b值。

                                                                  条件运算符由两个符号组成"?"和":",要求有3个操作对象,所以也叫它三目运算符,它是C语言中唯一的三目运算符。

                                                                  它的一般形式为:

                                                                  表达式1?表达式2:表达式3;

                                                                  以下是关于条件运算符的几点说明:

                                                                  (1) 表达式1是关系表达式或逻辑表达式,用于描述条件,表达式2和表达式3可以是常量,变量或表达式。如:

                                                                  (x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch

                                                                  以上均为合法的条件表达式。

                                                                  相关推荐:《常见问题》

                                                                  (2) 执行顺序:先求解表达式1,若值为非0,表示条件为真,则求表达式2,此时表达式2的值就作为整个条件表达式的值;

                                                                  若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。例如:

                                                                  (a>=0)?a:-a   执行结果是a的绝对值

                                                                  (3) 在程序中,通过把条件表达式的值直接赋予某个变量。例如:

                                                                  min=(a<b)?a:b  执行结果就是将条件表达式的值赋予变量min,即将a和b二者中较小的数赋给min。

                                                                  (4) 条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符。

                                                                  因此,min=(a<b)?a:b括号可以不要,可直接写成,min=a<b?a:b如果有x<y?x+1:y-1等效于x<y(x+1):(y-1)而不等效于(x<y?x+1:y)-1

                                                                  (5) 条件运算符的结合方向为"自右至左"。

                                                                  (6) 条件表达式允许嵌套,即允许条件表达式中的表达式2和表达式3又是一个条件表达式。例如:

                                                                  x>0?1:x<0?-1:0

                                                                  上述条件表达式中,表达式3部分又是一个条件表达式。根据条件表达式的结合性,上述条件表达式等价于:

                                                                  x>0?1:(x<0?-1:0)

                                                                  其作用是判断x的符号情况。当x为正数时,该条件表达式的值为1;当x为负数时,该条件表达式的值为-1;当x为0时,该条件表达式的值为0。

                                                                  (7) 条件表达式仅当if语句中内嵌的语句为赋值]语句(且两个分支)都给同一变量赋值)时才能代替if语句。如:

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:深度探究FIFA19的第三个更新补丁对其游戏性的影响
                                                                  下一篇:没有了