小编Jos*_*Shi的帖子

逻辑运算符在C中的优先级

#include <stdio.h>

int main(void) {
    int a = 0, b = 0, c = 0;
    ++a || ++b && ++c;
    printf("%d %d %d", a, b, c);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是1,0,0与gcc 8.1.0.该&&的优先级应高于||.

为什么是bc还在0

c

11
推荐指数
2
解决办法
717
查看次数

C++如何保持const值?

#include <iostream>
using namespace std;
int main() {
    const int a = 10;
    auto *b = const_cast<int *>(&a);
    *b = 20;
    cout << a << " " << *b;
    cout << endl << &a << " " << b;
}
Run Code Online (Sandbox Code Playgroud)

输出如下:

10 20
0x7ffeeb1d396c 0x7ffeeb1d396c
Run Code Online (Sandbox Code Playgroud)

a*b是在同一个地址,为什么他们有不同的价值?

c++ compiler-optimization

3
推荐指数
1
解决办法
168
查看次数

标签 统计

c ×1

c++ ×1

compiler-optimization ×1