C语言这题怎么做?

???... ??? 展开
 我来答
旅初彤2B
2020-01-15 · TA获得超过2.6万个赞
知道大有可为答主
回答量:4.4万
采纳率:65%
帮助的人:5231万
展开全部
应该选择B,--a执行后肯定是3,--a==b++这个是成立的,因为--a是先自减后赋值,而b++是先赋值后自增,也就是执行那个三元运算符的表达式后,b的值是4,但是你输出的时候加一,所以b的值是5,又--a==b++成立,所以只输出a的值,a的值在执行完这个三元运算符后,结果是3
追问
(--a==b++)不是只能判定是1还是0来确定:两边是哪个的数吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-01-15
展开全部
选B x=3

a 初始值为4 b初始值为3

--a 先进行减一 再参与运算,也就相当于a=3
b++ 先参与运算,再加一 相当于此时b = 3 参与跟 --a的相等运算
--a == b++ 返回结果为true
x = a = 3
执行完 x = (--a==b++)? a: b+1; 后 b值就是4
追问
最后一步什么意思?(--a==b--)3==3成立,不是应该选择?右边的式子冒号左边的输出吗
追答
对啊,冒号左边的式子  不就是 a 么
--a == b++ 这步运算结果 已经将 a值更新成3以后参与的运算
直接返回 x = a = 3 答案就是 3 啊

我的答案的最后一句是告诉你 运行结束后b的值是 4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式