對於我的作業,我必須從輸入文件讀取數據並將其存儲在二維數組中,然後將此數組傳遞給另一個函數。這是到目前爲止我試過,但我不知道什麼時候我主要是給出了錯誤調用這個函數:二維數組作爲返回值
Access violation writing location 0x00000000.
我試圖動態分配內存,它給了同樣的錯誤。我做錯了什麼?
代碼的最後更新:
#include<stdio.h>
#include<stdlib.h>
int *a[2];
void getData(void)
{
FILE *fp = fopen("input.txt", "r");
int number;
fscanf(fp, "%d", &number);
for (int i = 0; i < number; i++)
{
a[i]=(int*)malloc(number * sizeof (int));
fscanf(fp, "%d %d", &a[i][0], &a[i][1]);
}
fclose(fp);
}
int main()
{
getData();
for(int i=0;i<8;i++)
{
printf("%d %d\n",a[i][0],a[i][1]);
}
}
演員是沒用的。 – md5
@Kirilenko - 是的,它在C中沒用。但是由於他在原代碼中有相似的表演,我想可能是他正在用C++編譯。 – user93353