c++中++,--,&&等的用法
答案:2 悬赏:80 手机版
解决时间 2021-02-19 22:17
- 提问者网友:無理詩人
- 2021-02-19 06:21
c++中++,--,&&等的用法
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-19 07:06
++是对变量进行自增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.通常&&用于判断中的条件。
全部回答
- 1楼网友:猎心人
- 2021-02-19 08:28
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯