【发布时间】:2017-09-01 12:18:55
【问题描述】:
只有第一行矩阵的值通过 Add()。我得到错误的结果。例如:矩阵 1 有元素 1,2,3,4。但是当我在 add() 中打印这些值时,我我得到 1,2,0,0。
#include <stdio.h>
int main()
{
int arr[100][100], arr1[100][100];
int m, n, x, y, z;
printf("\n Enter order of matrix");
scanf("%d %d ", &m, &n);
//ENTRY OF MATRIX
printf("\n Enter Values of Matrix 1");
for (x = 0; x < m; x++)
{
for (y = 0; y < n; y++)
scanf("%d ", &arr[x][y]);
}
printf("\n Enter Value of Matrix two ");
for (x = 0; x < m; x++)
{
for (y = 0; y < n; y++)
scanf("%d ", &arr1[x][y]);
}
add(m, n, arr, arr1);
return 0;
}
void add(int m, int n, int a[m][n], int b[m][n])
{
int x, y;
for (x = 0; x < m; x++)
{
for (y = 0; y < n; y++)
printf("%d ", a[x][y]);
printf("\n");
}
}
【问题讨论】:
-
请修正缩进并在函数之间添加空白线。 ATM,看起来就像一团乱麻。
-
如果你的代码格式不是一团糟,我会费心看一看。
-
...否则我们会让你使用 Python
-
请立即检查代码
-
你在对编译器撒谎,它通过不做你想做的事而得到自己的回报。您正在传递两个大小为 100x100 的数组;您是在告诉编译器您正在传递两个较小的数组。这会导致不快乐;数据被读入一组内存位置,而您正在尝试读取另一组。您应该在使用之前声明该函数 C99 需要这个)。你绝对应该准确地使用它。你有一些认真的重新思考要做。您可以使用 100x100 矩阵,但您必须告诉函数更多信息。
标签: c function matrix multidimensional-array