用c语言编写矩阵转换时出现程序运行中断

dbc847023239 2013-04-20 11:04:05
void JZzz()
{
int n,m,t;
printf("请输入长度:");
scanf("%d%d",&n,&m);
int **a=new int*[n];
for(int i=0;i<n;i++)
{
a[i]=new int[m];
}
printf("输入相应数:\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",a[i][j]);
}
}
printf("转置前:\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("转置后:\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
/*for(int i=0;i<n;i++)
{
delete a[i];
}
delete a;*/
}
void main()
{

JZzz();
system("pause");
}
程序运行时中断:
报告指出:
“System.AccessViolationException”类型的未经处理的异常出现在 矩阵转置.exe 中。

其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。


这是怎么回事呀?求助


...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbc847023239 2013-04-20
  • 打赏
  • 举报
回复
是不是数据越界造成的?
dbc847023239 2013-04-20
  • 打赏
  • 举报
回复
是一个综合性平台,适用于多种语言。
dbc847023239 2013-04-20
  • 打赏
  • 举报
回复
Microsoft Visual Studio 2010
superliu1122 2013-04-20
  • 打赏
  • 举报
回复
C语言?你用什么C编译器啊,还能有System.AccessViolationException异常
dbc847023239 2013-04-20
  • 打赏
  • 举报
回复
大哥大姐快来着看一下吧!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧