4.执行下列语句后a的值为( ),b的值为( C ). int a, b, c; a=b=c=1; ++a|| ++b &&

 我来答
烹饪心灵手巧
2020-06-02 · TA获得超过3823个赞
知道大有可为答主
回答量:3087
采纳率:25%
帮助的人:182万
展开全部
// 定义3个变量a、b、c
int a, b, c;
// 给3个变量赋初值,a=1 b=1 c=1
a=b=c=1;
// 逻辑与的优先级高于逻辑或,相当于++a || (++b && ++c)
// 所以先判断++a是否为真,++a,前置自增后a为2,为真
// 而此时,由于是逻辑或运算,只要有一个为真,结果就为真,已经可以判定这个表达式的值为真
// 所以,后面括号中的表达式就不会运算,b为1,c为1
// 这个行为通常称为“短路求值”
++a || ++b && ++c;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式