我正在尝试在5x5数组中进行4x4输入,并获得第五行中每行的总和。 我敢肯定,如果您在下面阅读了我的代码,就会知道我在说什么。 例如,如果我输入:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
预期结果应为:
1 2 3 4 10
5 6 7 8 26
9 10 11 12 42
13 14 15 16 58
28 32 36 40 136
相反,我得到的结果是:
1 2 3 4 10
5 6 7 8 32792
9 10 11 12 42
13 14 15 16 58
28 32 36 40 -501277720
我考虑过为什么要获得这些随机值,但却找不到解决方案。为什么我会得到这些值以及如何解决?
#include <stdio.h>
int main ()
{
int gradeArr[5][5];
int i,j;
printf("Input grades:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&gradeArr[i][j]);
gradeArr[i][4] += gradeArr[i][j];
}
}
printf("%d\n", gradeArr[1][4]);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
gradeArr[4][i] += gradeArr[j][i];
}
gradeArr[4][4] += gradeArr[4][i];
}
printf("Result: \n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",gradeArr[i][j]);
}
printf("\n");
}
return 0;
}
答案 0 :(得分:2)
您需要初始化数组。
尝试
int gradeArr[5][5] = {0};