c++问题
#include<iostream>using namespace std;
int main()
{
int *p =NULL;
int *q=NULL;
int x =100;
*q = 50;
p = q = &x;
if(p != 0)
cout<<*p<<" "<<*q<<endl;
}
运行后说该.EXE停止工作,我用的是codeblocks
本帖最后由 梦醒尸还魂↘___ 于 2015-1-28 02:06 编辑
四楼兄弟的意思大概就是这样
*q = 50; 放在 p = q = &x;这个语句后面试试 缺了return语句吧,加上试试,return 0; 本帖最后由 静清心花 于 2015-1-26 20:29 编辑
指针q在定义时你就让它指向了NULL,也就是地址为0x00000000的那块内存区域,那块内存区域为操作系统独占的,我们的应用级程序没有权限修改它,或者说这个内存无法为我们的程序所用,而你用*p=50就会发生访问冲突,所以,你可以先定义一个int型的变量y,然后y=50;接着就可以q=&y;记得最后向主函数返回一个整型数值。 好久没看c++了 #include<iostream>
using namespace std;
int main(void){
int *p =NULL;
int *q=NULL;
intx=100;
int num=50;
q=#
p=q=&x;
if(p != 0)
cout<<*p<<"\n"<<*q<<endl;
return 0;
}
//我只学过C++的第一章,其实根本就没学过C++,我学的是C,你看下这是你想要的结果吗?
//我不清楚C++的情况,但是感觉和C差不多,我才不管他过程还是对象之类的。
// *q=50;这好像不对,具体你问下大神吧
我去竟然没发现,下面有这么多== 典型的野指针问题啊
页:
[1]