我试图在-25和25之间生成两个不同的5x5矩阵。我可以轻松生成1个矩阵,但每次尝试生成第二个矩阵时,程序都会崩溃。我需要使用一个函数来生成这两个矩阵。
generate_matrices(int p[5][5],int q[5][5])
如果我删除 int q [5] [5] ,它可以正常工作,但在包含时会崩溃。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a [5][5], b[5][5];
generate_matrices(a[5][5], b[5][5]);
return 0;
}
void generate_matrices(int p[5][5], int q[5][5])
{
int i=0,seed, r, row=0, column=0, s;
printf("Enter a number:");
scanf("%d",&seed);
srand(seed);
for (row=0; row < 5; row++ )
{
for (column=0; column < 5; column++ )
{
r = rand() % 50 + (-25); // generates random number
s = rand() % 50 + (-25); // generates random number
printf("p[%d][%d]:%d\t", row, column,p[row][column]=r);
printf("q[%d][%d]:%d\t", row, column,q[row][column]=s);// if i comment this one it works fine and generate only p[5][5]
i++;
if (column ==4)
{
printf("\n\n");
}
}
}
}
这是硬件问题还是与我的代码有关。
答案 0 :(得分:0)
以下更改是否有帮助?
在main()
之前,声明函数
void generate_matrices(int[5][5], int[5][5]);
如下所示传递两个矩阵:
generate_matrices(a, b);