C语言中? : 语句是什么意思

作者&投稿:少楠 (若有异议请与网页底部的电邮联系)
c语言中?和:是什么意思~

?在语言中表示疑问,那么疑问来自于判断。
:在语言中表示判断的结果选择。
所以编程逻辑就是先进行判断,然后再进行选择。
例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。

扩展资料:
C语言运算符号:
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。
因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
关系运算符号 :== 、!=

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。

注意:在C语言中,结果1 和 结果2的类型必须一致。

a ? b : c简单理解方式为:

if(a) {
return b;
} else {
return c;
}


我猜你说的是三目运算
例如
c = a>b?a:b;
这个就是等同于
if (a>b)
{
   c =a;
}else
{
    c=b;
}


字面意思就是,第一部分的条件成立吗?成立的话进行第二部分,否则进行第三部分