C语言中z=x>y?x:y是什么意思?

主要想了解表达式中?和:的意思,请说明,谢谢!... 主要想了解表达式中?和:的意思,请说明,谢谢! 展开
 我来答
vbtraz
2009-05-12 · TA获得超过5532个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4518万
展开全部
?:是个三元运算符
a?b:c 的意思是,如果a等于0结果就是c,否则结果是b
x>y?x:y的意思是,如果x>y 这个式子结果是x, 否则式子结果是y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者jRbK3ME1wB
2020-01-10 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1286万
展开全部
C中
x+(y>!z)这种表达式写的其实很不好
解释:括号中优先级
!高于>
先求
!z
也就是表达式
的逻辑取反
z非0
1!z
=
0;z=0则!z=1
然后判断y的值
是否大于!z
最后用x+上上一步判断的值
这样写的不好处在于
混用逻辑表达式和整型变量
(假定xyz是int之类)
写法不严格,很容易编译器警告(虽然不会报错)。属于习惯不好的写法
,尽量避免
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
么律
2009-05-12 · TA获得超过701个赞
知道小有建树答主
回答量:375
采纳率:0%
帮助的人:202万
展开全部
假如Z=X是真的话! 就是Z和X相不相等!等就是真
(x:y)真就输出X的值假的话输出Y。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者WJKGKFr15j
2020-04-09 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:683万
展开全部
先求!z的值,如果z是一个非零值,则!z为0,如果z为0,则!z为1,然后比较y与!z的关系,若z为非零值,则即为判断y>0是否成立,成立则y>!z的值为1,否则为0,若z为0.则即为判断y>1是否成立,成立则y>!z的值为1,否则为0,。最后用x的值加上y>!z的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郯媛女秦丁
2020-01-25 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:939万
展开全部
先取z的否定
判断一是否大于z的否定
再加上x的值
!z
z的否定
当z为非0值时
!z
=0
z为0时
!z
=1
所以最后的值
就是x+0
或者x+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式