C语言里面?问号什么意思?:什么意思?

如题所述

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。

参考资料来源:百度百科——三目运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
这是C里面唯一一个三目运算符.
a>b?a:b
如果a>b,返回a
如果a!>b,返回b本回答被提问者采纳
第2个回答  2010-12-13
例如flag=((2<3)?5:6);意思是如果?前的表达式为真则flag为5,否则为6,此时flag=5,而flag=((2>3)?5:6);时flag为6。
第3个回答  2010-12-13
rate=(sal<=1000) ? 0 : 0.05
这是一个语句的表示如果sal<=1000成立则rate=0,否则rate=0.05
第4个回答  2010-12-13
exp1?exp2:exp3
首先判断exp1是否成立,如成立返回exp2,否则返回exp3
相似回答