关于#c++#的问题:请将程序补充完整

img

 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;
}

img

一开始 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;
}