![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言运算符中问号是什么意思
展开全部
问号是条件运算符的意思,跟冒号组合使用。条件运算符优先级高于赋值、逗号运算符,低于其他运算符。
表达式为:表达式1?表达式2:表达式3。先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
扩展资料
条件运算符具有右结合性
当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。
例如:
w<x ? x+w : x<y ? x : y与 w<x ? x+w : ( x<y ? x : y) 等价。
w<x ? x+w : x<y ? x : y与 (w<x ? x+w : x<y) ? x : y 不等价。
参考资料来源:百度百科-条件运算符
展开全部
C语言运算符中问号是条件运算符(与冒号组合)。该运算符是C语言中唯一一个三目运算符。
可以通过如下的实例来说明条件运算符的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,则max的值为a,否则max的值为b,也即取a与b中的较大者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
z=x<y?x:y是条件运算符
意思是
如果x<y那么结果z就是x的值,如果x>=y结果z就是y的值
跟下面的if语句等价
if(x>y)z=x;
else z=y;
意思是
如果x<y那么结果z就是x的值,如果x>=y结果z就是y的值
跟下面的if语句等价
if(x>y)z=x;
else z=y;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
条件运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呃,俺学艺不精,不知道你说的是哪个,是不是(?:)呢?
?:是三目运算符
如:a?b:c;
等价于:
if(a) b;
else c;
?:是三目运算符
如:a?b:c;
等价于:
if(a) b;
else c;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询