1、c++用指针是否可以修改const型变量的值。
用cout获取const型变量的地址后,再用cin语句手动把地址赋给指针,并对指针赋值。代码如下:
#include<iostream>
using namespace std;
int main()
{
int a;
const int c=800;
cout<< (int)&c;
int*p;
//输入c的地址
cin >> a;
p = (int*)a;
*p = 89098;
cout << "c:" <<c<< endl;
cout << "*p:\t" << *p <<"\t"<<"c:\t"<<c<< endl;
cout << "p:\t" << p<<"&c:\t"<<&c<<endl;
return 0;
}
运行效果如下图。
2、结论:
用指针确实可以修改const型变量的值,但是如果用:“cout<< const型变量”输出变量的话,在控制台输出的值任然是定义const型变量的初始值。