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;
}
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯