永发信息网

int main(){ int*p; *p=9; cout<<"the value at p:"<<*p; return 0;}

答案:1  悬赏:30  手机版
解决时间 2021-03-30 23:05
  • 提问者网友:遮云壑
  • 2021-03-30 02:25
int main(){ int*p; *p=9; cout<<"the value at p:"<<*p; return 0;}
最佳答案
  • 五星知识达人网友:旧脸谱
  • 2021-03-30 03:00
这是典型的指针问题。
int *p; 定义了一个指针,但指针指向哪里了? 没有!因此是一个随机的地址,“野”指针;
*p=9; 该p所指向的地址赋值9,给一个随机的地址赋值,而这个地址极有可能是其它程序的空间,因此引起冲突,程序崩溃。因此你的程序出错。
修改:
int main(int argc, char const *argv[])
{
     int*p; 
     int q = 9;
     //*p=9; 
     p = &q;
     cout<<"the value at p:"<<*p;
    return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯