我试图动态分配的二维数组的内存,但我不知道什么是错。如何动态在2D阵列和存储值分配存储器?
错误
让输入是
2 2
1 2 3 4 5 6 7 8 9 ........
然后程序崩溃
#include<stdio.h>
#include<stdlib.h>
int main()
{
int N,M;
int i,j;
scanf("%d %d",&N,&N);
int **A = (int **)malloc(N*sizeof(int *));
for(i=0;i<N;i++)
{
A[i] = (int *)malloc(M*sizeof(int));
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
scanf("%d",&A[i][j]);
}
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%d",A[i][j]);
}
}
return 0;
}
你没有提供证据证明你是错的,甚至是你所说的“错误”的意思。 –
什么问题?这似乎确定。除了铸造'malloc' –
_I不知道什么是wrong_你怎么知道什么是错的?你有任何编译错误,崩溃,意外的结果? – litelite