C语言运算符中问号是什么意思

 我来答
床前明月儿
高能答主

2019-11-01 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171926

向TA提问 私信TA
展开全部

问号是条件运算符的意思,跟冒号组合使用。条件运算符优先级高于赋值、逗号运算符,低于其他运算符。

表达式为:表达式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 不等价。

参考资料来源:百度百科-条件运算符

天云小店
推荐于2017-09-19 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:754万
展开全部

C语言运算符中问号是条件运算符(与冒号组合)。该运算符是C语言中唯一一个三目运算符。


可以通过如下的实例来说明条件运算符的用法:

int a=1, b=3;
int max;
max = a>b ? a : b;   // 如果a>b,则max的值为a,否则max的值为b,也即取a与b中的较大者
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qicaiwuya
2011-12-24 · TA获得超过4211个赞
知道小有建树答主
回答量:1462
采纳率:100%
帮助的人:1201万
展开全部
z=x<y?x:y是条件运算符
意思是
如果x<y那么结果z就是x的值,如果x>=y结果z就是y的值
跟下面的if语句等价
if(x>y)z=x;
else z=y;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青山柳琴
2011-12-24 · TA获得超过858个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:307万
展开全部
条件运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CarlosQPV
2011-12-24
知道答主
回答量:21
采纳率:0%
帮助的人:5.3万
展开全部
呃,俺学艺不精,不知道你说的是哪个,是不是(?:)呢?
?:是三目运算符
如:a?b:c;
等价于:
if(a) b;
else c;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式