通过以下代码修改
#include <iostream>
using namespace std;
int main()
{
const int i = 3;
int * j;
j = (int* )&i;
*j = 5;
cout << &i << endl;
cout << j << endl;
cout << i << endl;
cout << *j << endl;
return 0;
}
运行结果如下:
0x7ffcc3677d88
0x7ffcc3677d88
3
5
我知道常量值不可被修改,所以i的结果是3,但是为什么通过j再去获取i的值就会变成5了呢?