2.以下程序的输出是6,请将程序补充完整
finclude
usingnamespacestd
intmainO
constintx=5,y=6
constint*p=&x
cout<<*p<
因为p为定义指向一个int常量的指针,所以不可以通过该指针修改指向的值,但可以修改指针p指向的地址,所以输出如果要是6,则可以使用p=&y.
补充如下:
参考链接:
#include<iostream>
using namespace std;
int main() {
const int x=5,y=6;
// https://blog.csdn.net/weiyuanzhang123/article/details/117592035
const int * p=&x;
p=&y;
cout<<*p<<endl;
return 0;
}
一开始 p 指向 int 常量 x,由于是常量,初始化了后面就不能修改了,不能直接修改p指针指向的地址上的值,只能改变p指针的指向,将p指向y,补充语句: p = &y
#include<iostream>
using namespace std;
int main()
{
const int x = 5, y = 6;
const int *p = &x;
p = &y;
cout<<*p<<endl;
return 0;
}