2
我試圖從文件中讀取兩個大小,然後是矩陣。該代碼看起來像這樣2d矩陣不存儲值,所有值顯示爲0
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int n,m;
fp = fopen("grille.txt", "r");
fscanf(fp, "%d", &n);
fscanf(fp, "%d", &m);
int mat[n][m];
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
fscanf(fp, "%d", &temp);
mat[n][m] = temp;
}
}
fclose(fp);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",mat[n][m]);
}
printf("\n");
}
}
如果我打印出temp
在閱讀它,所有值都正確顯示。但是,當試圖從矩陣打印它們時,會打印正確大小的空矩陣。我學會了用C++進行編程,而這些c東西中的一些讓我感到困惑。
'mat [n] [m] = temp;' - >'mat [i] [j] = temp;'同上打印循環。由於數組的索引從'0'到'dimension-1',所以你正在寫所有值*超出範圍* –
@WeatherVane有人開槍射擊我。請發佈完整答案。 – aron9forever
「我學會了使用C++編程,並且使用了一些c」 - 嗯......你會驚訝C++與Modula不同嗎?如果是的話,那麼爲什麼驚訝C也是不同的?所有三種都是不同的語言。 – Olaf