发布网友 发布时间:2022-04-23 16:40
共5个回答
热心网友 时间:2022-04-28 07:43
C语言里面?、:是三木运算符,其中?用来判断条件的真假,:用来根据判断结果决定取值。
如(a<b)?a:b"是一个"条件表达式",如果a<b为真,则表达式取a值,否则取b值。条件运算符由"?"和":"两个符号组成, 要求有3个操作对象,所以条件运算符也叫三目运算符。
条件表达式的一般形式为:表达式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。
参考资料来源:百度百科——三目运算符
热心网友 时间:2022-04-28 09:01
这是C里面唯一一个三目运算符.
a>b?a:b
如果a>b,返回a
如果a!>b,返回b
热心网友 时间:2022-04-28 10:36
例如flag=((2<3)?5:6);意思是如果?前的表达式为真则flag为5,否则为6,此时flag=5,而flag=((2>3)?5:6);时flag为6。
热心网友 时间:2022-04-28 12:27
rate=(sal<=1000) ? 0 : 0.05
这是一个语句的表示如果sal<=1000成立则rate=0,否则rate=0.05
热心网友 时间:2022-04-28 14:35
exp1?exp2:exp3
首先判断exp1是否成立,如成立返回exp2,否则返回exp3