C语言中冒号是做什么用的?

如题所述

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 ;

温馨提示:答案为网友推荐,仅供参考
相似回答