为了账号安全,请及时绑定邮箱和手机立即绑定

运行结果为什么是a=1,b=0

运行结果为什么是a=1,b=0

C
小画冰 2015-12-06 20:09:44
#include <stdio.h>int main(){int a=0,b=0,c=0;if(a++>0&&b++>0)++c;printf("\na=%d,b=%d,c=%d",a,b,c);}
查看完整描述

1 回答

已采纳
?
fireup

TA贡献8条经验 获得超31个赞

这叫做短路现象,&&的左右操作数都为真时才返回真,如果第一个操作数返回true,它会继续判断第二个操作数,而如果第一个就返回false,那么无论第二个为true还是false,结果都是false,所以,C语言这个时候会偷懒,就不再判断第二个了,所以b++不会执行,另外,++在后,会先判断,再执行++运算

查看完整回答
反对 回复 2015-12-06
  • 1 回答
  • 0 关注
  • 1350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信