如标题所示,我正在尝试打印2D数组的值。我的代码如下。我不确定为什么我的代码不打印结果数组。如下图所示,我将制作一个方形矩阵,并在其中给出0到50之间的随机数值。任何想法都将受到赞赏。非常感谢你。
#include <stdio.h>
#include <stdlib.h>
int main () {
int rows, cols, r, c;
printf("Enter the dimension of your square matrix: ");
scanf("%d", &rows);
rows=cols;
int A[rows][cols];
for (r=0;r<rows;r++){
for (c=0; c<cols; c++){
A[r][c]=(rand() % 50); //Generates random number b/w 0 and 50.
}
}
for (r=0;r<rows;r++){
for (c=0; c<cols; c++){
printf("%d", A[r][c]);
}
}
}
答案 0 :(得分:0)
scanf()
后,您覆盖rows
值。
将rows = cols
切换为cols = rows
。
你也忘了设置rand的种子(srand( time(NULL) )
)。
您的代码如下所示:
int main(){
int rows, cols, r, c;
srand(time(NULL));
printf("Enter the dimension of your square matrix: ");
scanf("%d", &rows);
cols=rows;
int A[rows][cols];
for (r=0;r<rows;r++){
for (c=0; c<cols; c++){
A[r][c]=(rand() % 50); //Generates random number b/w 0 and 50.
}
}
for (r=0;r<rows;r++){
for (c=0; c<cols; c++){
printf("%d ", A[r][c]);
}
printf("\n");
}
}