所以,我有这部分代码:
for (lin = 0; lin < linhas_mat1; lin++)
{
fgets(linha_s, MAX_LINHA, matriz1_file);
buffer = strtok(linha_s, " ");
for (col = 0; col < colunas_mat1; col++)
{
printf ("\nCOLUNA: %d", col);
if (&matriz1[lin][col] == NULL)
printf ("erro");
matriz1[lin][col] = atoi(buffer);
buffer = strtok(NULL, " ");
}
}
它将文件中的矩阵放入内存。开放和分配没有给出错误(至少我认为)。奇怪的是,错误似乎发生在最后两个元素上(通过打印当前行的编号发现)(在最后一个元素之前,上面的代码或最后一个元素,如果我添加一些打印,那就更奇怪了)并且只有当矩阵有 5 行或更多行。前几行毫无问题地添加到内存中,所以我不明白为什么最后一个元素会出现问题。有人知道问题出在哪里或我如何找到问题的一些提示?