c++双目运算符

c++双目运算符,第1张

cout的计算顺序是:自右至左,输出顺序是:自左至右。先计算++x,此时x为4,再计算x++,此时x为5,输出时,自左至右依次输出x=5, x++ = 4(这是x++机制决定的,x++返回的是加1之前的值即4),x=5,++x=5(返回的是当前x值),x=5
比较绕的点在于,cout输出x变量时,取的是x所在内存的值,是当前值,不是所谓的“执行++x之前(或之后)的值”;而x++返回的实际上是寄存器里的值,它存的是x+1之前的值,++x返回x所在内存的值。
这题毫无意义,其实不懂也就不懂了,这种奇技巧屁用没有。

所谓单目运算符就是只有需要一个 *** 作数的运算符,如:--、++同理,双目运算符就是需要两个 *** 作数的运算符,如:+、-、、/、=
等。三目运算符只有一个

:
。(需要三个 *** 作数)

单目运算就是只有一个 *** 作数的运算,双目运算就是有两个 *** 作数的运算,同理,还有三目运算就是有三个 *** 作数参与的运算。
例如:
单目运算:
----求反 ~a(按位反)
----非 !a
----增1 a++或者++a
----减1 a--或者--a
双目运算:
----加法 a + b
----减法 a - b
----乘法 a b
----除法 a / b
----取模 a % b
----位移 a << b或者a >> b
----按位或 a | b
----按位与 a & b
三目运算:
---- a b : c

x++&&y++ 结果为 0&&0 是0, 所以执行 0 ||z++, z++是0,0||0 =0
0&&y++就跳过了y的运算
所以 x=1 y=0 z=1


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12928527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存