c语言中“:”和“?”怎么用

如题所述

?与:要组合起来用,这个运算符称为三目运算符,好像是C语言中唯一一个三目运算符。
格式:表达式?值:值。
比如,a=(b>c)?5:6。就是说b>c这个表达式若为真,则a=5,:符号前的一个值,若为假,则a=6,:符号后一个值。
等价于if…else结构。
希望我的回答能帮助到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-05
? : 两个连在一起是一个运算符,
它是C和C++中唯一的一个三目运算符,也就是有三个运算对象。
它可以完成类似if语句的作用。

例如 将x和y的较大值赋给 z
可以写
if(x>y)
z=x;
else
z=y;

也可以写成
z=x>y?x:y;
第2个回答  2013-11-05
c=(a>b)?1:0;

等价于

if(a>b)
    c=1;
else
    c=0;

第3个回答  2020-01-13
相似回答