c++中++,--,&&等的用法
#include<iostream>usingnamespacestd;intmain(){inta=1,b=2,c=3;--a&&b++&&c--;++a||b--&&...
#include <iostream> using namespace std; int main() { int a=1,b=2,c=3; --a&&b++&&c--; ++a||b--&&--c; cout<<"a="<<a<<"b="<<b<<"c="<<c; return 0; } //a=1b=2c=3请按任意键继续. . . 怎么输出结果是这个呢
展开
2个回答
展开全部
C++的布尔表达式有一个特性叫短路求值。逻辑与和逻辑或操作符总是先计算器做操作数,然后再计算器右操作数。只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解其右操作数。具体在这里来说是这样求值的:--a&&b++&&c--;这里先计算--a,因为a=1,--a之后返回值为0而0对应布尔值false,而其后跟的是逻辑与,我们知道逻辑与只要有一个为false,则整个表达式均为false,只有同时为true才为true。那么这里有一个为false了,可以确定整个表达式都是false,所以后面的表达式都没有计算的必要性了。再看++a||b--&&--c;这里先计算++a,刚才a已经被改成了0,这里++a把a自增1,变成1然后返回,而1对应着true。而++a后面是逻辑或运算,而逻辑或运算只要有一个为true,整个表达式都为true,所有后面的表达式又都没有运算的必要了。因此,b和c根本没有被改变。而a经过一次自减,一次自增变回其初始值,所以输出的值没有改变还是初始值1,2,3
2015-12-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
++是对变量进行自增a=a+1,分为两种情况。假设一个变量inta=0;printf("%d",a++);就是先作运算再进行自增,先输出再增加输出0,当++a时就是先自增再操作。输出为1
--是对变量进行自减a=a-1,和自增的情况一样。
++和--通常用于迭代时,通过对变量的自增减来迭代所有内容。
&&是逻辑与,例a&&b当a和b都不为0时结果为真即不为0.通常&&用于判断中的条件。
--是对变量进行自减a=a-1,和自增的情况一样。
++和--通常用于迭代时,通过对变量的自增减来迭代所有内容。
&&是逻辑与,例a&&b当a和b都不为0时结果为真即不为0.通常&&用于判断中的条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询