小编sch*_*llr的帖子

c ++表达式值(运算符优先级)

以下表达式:-

int main()
{
    int x=2, y=9;
    cout << ( 1 ? ++x, ++y : --x, --y);
}
Run Code Online (Sandbox Code Playgroud)

给出以下输出:-

9
Run Code Online (Sandbox Code Playgroud)

根据我的理解,它应该返回 ++y,它应该是 10。出了什么问题?

c++ conditional-operator operator-precedence prefix-operator

2
推荐指数
1
解决办法
85
查看次数

C++中涉及按位运算的表达式的值是多少

在我的机器上,以下表达式:-

int main()
{
    int q = 0b01110001;
    cout << q << endl;
    cout << (~q << 6);
}
Run Code Online (Sandbox Code Playgroud)

打印以下内容:-

113
-7296
Run Code Online (Sandbox Code Playgroud)

我试过假设 16 位整数来解决它,但我的答案与按位运算后获得的值不匹配。

这仅仅是未定义行为的情况还是我在这里遗漏了什么?

c++ bit-manipulation bit-shift

0
推荐指数
1
解决办法
57
查看次数