我試圖動態分配的二維數組的內存,但我不知道什麼是錯。如何動態在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