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

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com