中易网

设a,b,c均为1,则执行赋值语句c=((a-->0?0:1),(++b<0?1:a--)后,a,

答案:2  悬赏:50  
解决时间 2021-02-02 21:54
设a,b,c均为1,则执行赋值语句c=((a-->0?0:1),(++b<0?1:a--)后,a,b,c的值分别为[ ]。

A 0,1,0
B 0,1,1
C-1,2,0
D-1,2,-1

希望有详细过程,谢谢!
最佳答案
int a=0,b=1,c,d; c=(!(a='0')&&b--,a+b); 因为表达式中出现逗号,这是个逗号表达式,赋值给c的一定是逗号表达式最后一个式子计算出的值,那么这个语句可以分解为 a='0'; //a=48 d=!a&&b; //由于&&运算时,前边的!a为0,即假,后面的b--就被省略不算了,所以不执行b--; c=a+b; //c=49,表达式结果是49选D,这时b仍然等于1
全部回答

a=0

b=0

c=0

因为这里是因为 逻辑表达式 与 或同时出现时候与的级别优先 所以 后面的b++&&c++;看做一个整体 但是 c语言里面有一个栈机制 就是优先级高的先进栈 这样b++&&c++;进栈了 而后a--进栈 出栈时候是后进先出来 所以先读到a--  a此时还是1 (因为a--先表示值 后运算)是这里我们要注意了 有一个||或 这个符号出现 就是说如果前面的为真(也就是不为0)后面的不进行运算 所以b  c值没有操作 都为0

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
街舞飞机跳用力的方法对吗?
太阳能发电板直接用12v12w灯炮照明吗
fifa online3有没有巴西联赛
变频器正常停机后1分钟烧坏,以前出现死机现
性保健用品unspsc分类怎么填
顶尖秀我想知道这个在什么地方
世界之窗浏览器,想在一个页面打开多个标签,可
文件加密解密系统 v2.2忘记密码
仙剑客栈洪七公踢馆打不过怎么办
android 如何设置webView里文字的颜色
玛奇朵酒店地址有知道的么?有点事想过去
邮寄办理港澳通行证续签
ipod shuffle灯光闪烁 问题
记者做不真实报道,到哪里投诉记者?
羊将军地址有知道的么?有点事想过去
推荐资讯
每时刻快餐厅怎么去啊,有知道地址的么
在一张电力图纸上见到这个符号(见图纸),好
安亚塑料地址在哪,我要去那里办事
韩记饺子地址在哪,我要去那里办事
莱卡全站仪怎么设置自动测量
王者荣耀李白跟大乔绝对是情侣
腾越台球俱乐部地址在哪,我要去那里办事
我的电脑声道为什么是反的?怎么解决?
有没有人曾经南宁的华南烹饪学校学过的??我
我的铁观音为什么有种青草味
龙头宏建水电五金商行地址在哪,我要去那里办
下江地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?