+ -
当前位置:首页 → 问答吧 → 求高手解释啊解释

求高手解释啊解释

时间:2011-12-14

来源:互联网

输出魔方阵的程序,调试出现如下错误,求解释啊::::

6.exe 中的 0x00e216b2 处有未经处理的异常: 0xC0000005: 写入位置 0xfdfdfe01 时发生访问冲突

#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{ int i,j,k=2,N;
  cout<<"请输入一个整数";
cin>>N;
int **p=new int*[N];
  for(i=0;i<N;i++)
p[i]=new int[N];
for(j=0;j<N;j++)
for(int j=0;j<N;j++){
for(int m=0;m<N;m++)
{ p[j][m]=(j+1)*(k+1);
cout<<p[j][m]<<':'<<&p[j][m];
 
cout<<endl;
}

  for(i=1;i<=N;i++)  
  for(j=1;j<=N;j++)  
p[i][j]=0; 
  j=N/2+1;  
  p[1][j]=1; 
  for(k=2;k<=N*N;k++) 
  { i=i-1; j=j+1; 
  if((i<1)&&(j>N)) 
  { i=i+2; j=j-1; } 
  else 
  { if(i<1) i=N; 
  if(j>N) j=1; 
  } 

  if(p[i][j]==0) p[i][j]=k; 
  else 
  { i=i+2; j=j-1; 
  p[i][j]=k; 
  } 


for(i=1;i <=N;i++)  
{ for(j=1;j <=N;j++)
  cout<<p[i][j]<<endl;
}
  for(int n=0;n<N;n++) 
  delete[] p[n]; 
  delete[] p;  
  return 0;
 
}

}

作者: music__music   发布时间: 2011-12-14

崩溃后,点调试,查看调用堆栈
或者单步跟踪

作者: ouyh12345   发布时间: 2011-12-14

推荐单步跟踪,很容易发现问题所在

作者: wwzzz   发布时间: 2011-12-14

八成是内存泄露。

作者: foxriver_gjg1989   发布时间: 2011-12-14

http://topic.csdn.net/t/20030502/19/1732898.html
你的数组越界太厉害了。。自己好好查查吧!!!

作者: shen_wei   发布时间: 2011-12-14

第一感觉就是数组越界

作者: ghj123h   发布时间: 2011-12-14