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

主要想了解表达式中?和:的意思,请说明,谢谢!... 主要想了解表达式中?和:的意思,请说明,谢谢! 展开
 我来答
娱乐小八卦啊a
高粉答主

2019-09-22 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117866

向TA提问 私信TA
展开全部

?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

相当于:

if (x>y)

{z=x;}

else

{z=y;}


扩展资料

C语言中条件表达式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。

2.verilog语法中也有类似C语言中的条件表达式

如下:

inout sda;

assign sda=(flag==1)?data_buf:1'bz;

当flag==1时,sda的值等于发送的数据的data_buf(sda相当于output类型),

当flag==0时,sda的值变成高阻态(sda相当于input类型)。

参考资料来源:

百度百科——条件运算符

玩转困难
推荐于2017-11-27 · TA获得超过1105个赞
知道小有建树答主
回答量:1116
采纳率:0%
帮助的人:726万
展开全部
这句话的意思是:
如果x>y为真,那么把x的值赋给Z,否则把Y的值赋给Z。

?在这里起判断作用。
:和?一起是C语言里一起用的,是基本语法,书上有的。。
你好好找找书上,以后的C++和C#里也有这种写法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ProFelix
2009-05-12 · 超过17用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
?:是唯一一个三元运算符。意思是,先判断?号前的表达式X>Y,如果为真,则X>Y?X:Y这一整个表达式的值为X,否则为Y。
Z=X>Y?X:Y的意思是,如果X>Y,则Z=X;否则Z=Y。即将X和Y中较大的一个值赋给Z。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友58d9f9038
2009-05-12 · TA获得超过3356个赞
知道小有建树答主
回答量:937
采纳率:0%
帮助的人:1366万
展开全部
相当于:
if x>y
z=x;
else
z=y;

?就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
依夏青兰晨
2019-11-10 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:738万
展开全部
根据优先级计算,先算括号里面的y>!z,如果z!=0的话,!z就为0,z为0的话!z就为1,
然后y>(!z),判断y是否大于1或者0(之前已经提到了),大于就返回1,不大于1就返回0,最后再和x相加就行了
举个例子:x==2,y==2,z==3
得出来的就是3。
以上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式