永发信息网

C语言逻辑关系

答案:1  悬赏:10  手机版
解决时间 2021-03-02 04:38
#include<stdio.h>
void main()
{
int a=1,b=2,c=3,d;
d=--a&&b--||c--;
printf("%d %d %d %d\n",a,b,c,d);

}
结果是: 0 2 2 1
为什么b没变,c自减了???
最佳答案
逻辑与&&的左侧表达式若为假,则结果一定为假,不再计算右侧表达式;
同理,逻辑或||的左侧表达式若为真,则结果一定为真,不再计算右侧表达式。
上述两点特性称为短路运算。
--a&&b--,由于左侧表达式--a=0为假,&&表达式结果一定为假,不再计算b--,直接返回0;
0||c--,左侧表达式0为假不能确保||结果一定为假,仍需计算右侧表达式,故计算c--,此时引用c的原值然后将c自减,结果为3,因此||表达式结果为真,返回1。
最终d被赋值为1。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国哪里的姑娘最漂亮
上海中天中豪雀侠麻将机新疆总代理地址在哪,
顾昱州 是谁?
松竹园在什么地方啊,我要过去处理事情
蘑菇街怎么登录不了
小说中Z国指哪个国家
很多年前的前男友和我联糸,想见我什么意思
三洋干洗我想知道这个在什么地方
母孔雀几年才长后脚
为什么发完脾气后心会这么痛呢!〒_〒好痛苦
下列哪种情况可作3/4冠修复A.切缘有较小的缺
东山墅北门这个地址在什么地方,我要处理点事
昌旺废旧物资回收利用公司这个地址在什么地方
名字里用垒字的人多吗?
3M机油和GT魔力红差别大吗?
推荐资讯
银行借记卡刷卡消费后查不查得到明细
星角甜品松阳店怎么去啊,有知道地址的么
正沟综合商店我想知道这个在什么地方
android studio不支持中文界面吗
《问》 古代井盖省指的现在哪个省
84消毒液和来苏文一起用有毒吗
银行卡可以在ATM上查询清单吗?
有什么港产电影80-90年代的 有露点的 类似俾
贴片电阻3r00与3r0有什么区别
(60分)阅读下列图文资料,完成下列要求。材
地球上的沙漠为何都集中在一片
光洁绚丽的意思是什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?