c语言中的? :怎么用啊

我是C语言的初学者,不懂的怎么用这个符号······
希望高手们指导一下····
谢了!!!

你好,朋友!
C语言中的“?:”是条件运算符,它是三目运算符,它的结合方向是自右至左。条件表达式的一般形式是

表达式1?表达式2:表达式3
说明:
条件运算符的执行顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,这时表达式3的值就是整个条件表达式的值。

下面,我举个例子吧,让你更进一步了解。
max=(a>b)? a:b
执行结果就是将条件表达式的值赋给max,也就是将a和b二者中的大者赋给max。

这样,你应该明白了吧。呵呵。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-05
?:称为条件操作符,它的用法是:

a=exp1?exp2:exp3;

意思是,如果exp1的值非0(为真),就将exp2的值赋给a,否则将exp3的值赋给a,它和以下if语句等价:

if(exp1) a=exp2 ;
elxe a=exp3;
第2个回答  2010-01-05
例如:
int x=1,y;
y=x>0?1:-1;
上面表达式的意思是,如果x>0,那么就赋值1给y,否则赋值-1。
第3个回答  2020-01-13
相似回答