C 用于查找二维数组中的行和列之和的程序函数
我有程序体,我的大部分错误都在我的函数中。我已尝试修复它,但无法更改数据类型C 用于查找二维数组中的行和列之和的程序函数,c,arrays,C,Arrays,我有程序体,我的大部分错误都在我的函数中。我已尝试修复它,但无法更改数据类型 #include <stdio.h> int sumrow (int matrix); int sumcol (int matrix); int main () { int matrix [3][4] = { {5, 7, 4, 8}, {6, 8, 2, 4}, {2, 7, 9, 6} }; int sum; sumrow = matrix[3][4]; [错误]函数“int-sumcol(i
#include <stdio.h>
int sumrow (int matrix);
int sumcol (int matrix);
int main () {
int matrix [3][4] = { {5, 7, 4, 8}, {6, 8, 2, 4}, {2, 7, 9, 6} };
int sum;
sumrow = matrix[3][4];
[错误]函数“int-sumcol(int)”的赋值
[错误]无法将分配中的“int”转换为“int(int)”
这里的错误是相同的,我可能没有正确地调用错误
return 0;
}
int sumrow (int matrix){
int i, j, sum = 0;
for (i = 0; i < 4; ++i)
{
for (j = 0; j < 3; ++j)
{
sum = sum + matrix[i][j] ;
子例程应定义为采用2D数组而不是单个int。请注意,可以将最左边的维度保留为空
int sumrow (int matrix[][4]){
int i, j, sum = 0;
for (i = 0; i < 4; ++i)
etc...
sumrow的返回值应为您计算的总和:
return sum;
int-sumcol(int-matrix)代码>和sumcol=矩阵[3][4]
:sumcol
应该是函数还是int?与int-sumrow(int-matrix)相同的问题
。您在此处访问数组外部的内存:sumrow=matrix[3][4]代码>和sumcol=矩阵[3][4]
int-sumrow(int-matrix)
应该是int-sumrow(int-matrix[3][4])
并且调用应该是sumrow(matrix)
}
}
return printf("Sum of the %d column is = %d\n", sum);
}
int sumrow (int matrix[][4]){
int i, j, sum = 0;
for (i = 0; i < 4; ++i)
etc...
int sum = sumrow(matrix);
return sum;