冒号运算符是不是就是“?

发布网友 发布时间:15小时前

我来回答

1个回答

热心网友 时间:4分钟前

C语言中没有单独的冒号运算符,冒号需要与问号合用,形成条件运算符。

C语言中条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。

条件运算符的使用形式为:b ? x : y

其运算过程为:先计算条件b,然后进行判断:如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

如:

int a=5,b;
b=a/3>0?a/10:a%3 ; //此时,b的结果为a/10=0

运算过程解析:

先计算a/3>0 , 因为a=5,所以,a/3=5/3=1 > 0,条件为true

所以,b=a/10 = 5/10=0

a%3被略过了。

条件表达式,可以用if语句来改写,如,上面的例子可改为:

int a=5,b;
if ( a/3 > 0 )
    b=a/10;
else
    b=a%3 ;

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