int a==3,b=5,c=0;char ch='0' 则ch=3||(b+=a*c)||c++?

 我来答
韩国军方也很热
2022-12-11 · 超过30用户采纳过TA的回答
知道答主
回答量:158
采纳率:75%
帮助的人:11万
展开全部

在给定的代码中,表达式 ch = 3 ||(b += a * c) ||C++ 由三部分组成:

  • 赋值运算符 ch = 3 将值 3 分配给变量 ch。

  • 逻辑 OR 运算符||计算表达式 (b += a * c),如果结果不为零,则返回 1,否则返回 0。

  • 后缀增量运算符 ++ 在计算表达式后将 c 的值递增 1。

  • 因此,表达式 ch = 3 的值||(b += a * c) ||C++ 为 1,因为逻辑 OR 运算的结果为 1。这意味着在计算表达式后,ch 的值将为 3。

    请注意,在此代码中,变量 b 不会被修改,因为 a * c 的值为 0,赋值 b += 0 的结果为 0。此外,不会修改 c 的值,因为后缀增量运算符 ++ 是在逻辑 OR 操作之后应用的,无论 c 的值如何,它都返回 1

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2022-12-10 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

根据运算符优先级/结合性,原式等效于

ch=( 3|| ( (b+=a*c)||c++ ) )

路基或表达式最左侧表达式3导致后续的判断都不会执行

即ch值为1,b和c依旧是原值不变

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式