C语言中 b = a && a > 0 这个事什么意思 怎么算

 我来答
声冰真泥水
游戏玩家

2020-03-25 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:598万
展开全部
“=”在C语言中是算数表达式,“>”是关系表达式,“&&”是逻辑表达式,在C语言中“算数”>“关系”>“逻辑”,因此先执行“b=a”,在执行“a>0”,让后再把两个表达式连模返在一起执行。当两边的值都尘弊对时,这个表达式就为真,当两边有一个为假时,这派码族个表达式为假。在程序中执行时,也就是把a的值赋予b并且a>0时才能把a的值赋予b这时这个表达式为真,否则“a
岳英范泣朵
2019-10-29 · TA获得超过3万个赞
知道大有可为答主
回答量:9517
采纳率:35%
帮助的人:930万
展开全部
同楼上,这是一个运算符优先级的问题,在这里
比较运算旅棚春符>逻辑运算符>赋值运算符拆耐
b
=
(a
&&
(a
>
0))
但是,需要注意的是,&&和||这两个运算符的特点:
如果&&左边运算的值为0,那它不会再做右边的运算。例如
int
i=1;
if(--i
&&
++i){……}
这个时候i的值其实是0,if中只做了--i,因为这个时候i已经等于0了,所以并没有再做++i。
这个与运算符优先级无关,只是编译器优化时候把后面的优化掉了。
先判断a是否为0,
如果是0则b=0;
如果a不等于0在判断a>0是和毁否成立
最后做赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳夏蓉掌禾
2020-05-10 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:879万
展开全部
这是
(a%b)?b:a
其中桐吵
a%b

a除以b取馀数,
若不等於0
(也就是b不整除局基侍a)就当成立,
整个式子是取b的值.
若等於0
(也就是b整除a)就当不成立,
整个式子是取a的锋伏值.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和清绮希麦
2019-05-20 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:725万
展开全部
把a的值赋给b与a大于0
这是个逻辑表达式
表示两者都成立
这种表达式只有两种结果
两边灶则都成立结果为
1
有一边或者宴辩衫两边都不成立则晌腔为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式