C 为什么我的2D数组只打印出一个值?
我正在做一个单词搜索程序,并且正在开始步骤。我试图在用户输入进入单词搜索的单词之前,让用户输入大小为“+”的网格。当我运行程序时,它只输出一个“+”。为什么它只打印一个值?如何调整代码,使每个值都表示为“+”?我是一个编程新手,所以任何建议都会很有帮助的。谢谢C 为什么我的2D数组只打印出一个值?,c,arrays,2d,C,Arrays,2d,我正在做一个单词搜索程序,并且正在开始步骤。我试图在用户输入进入单词搜索的单词之前,让用户输入大小为“+”的网格。当我运行程序时,它只输出一个“+”。为什么它只打印一个值?如何调整代码,使每个值都表示为“+”?我是一个编程新手,所以任何建议都会很有帮助的。谢谢 #include<stdio.h> void printmatrix(char matrix[][20],int); int main(void) { char matrix[20][20]= {{'+'}};
#include<stdio.h>
void printmatrix(char matrix[][20],int);
int main(void)
{
char matrix[20][20]= {{'+'}};
int x=1;
printf("How large would you like the puzzle to be (between 10 and 20):\n");
scanf("%d",&x);
printmatrix(matrix,x);
return 0;
}
/********************************************
Function Name: Printmatrix...this function prints out an empty matrix of the grid size the user asked for
Inputs: Variables x and y...the row and column variables the user inputted
Outputs: Empty matrix filled with '+' thats the size the user asked for
********************************************/
void printmatrix(char matrix[][20],int x)
{
int i,j;
printf("Empty Puzzle:\n");
for (i=0;i<x;i++)
{
for (j=0;j<x;j++)
{
printf("%c", matrix[i][j]);
}
printf("\n");
}
}
#包括
无效打印矩阵(字符矩阵[][20],int);
内部主(空)
{
字符矩阵[20][20]={{{'+'}};
int x=1;
printf(“您希望拼图有多大(介于10和20之间):\n”);
scanf(“%d”和&x);
打印矩阵(矩阵,x);
返回0;
}
/********************************************
函数名:Printmatrix…此函数打印出用户要求的网格大小的空矩阵
输入:变量x和y…用户输入的行和列变量
输出:空矩阵填充“+”,这是用户要求的大小
********************************************/
无效打印矩阵(字符矩阵[][20],整数x)
{
int i,j;
printf(“空拼图:\n”);
对于(i=0;i由于使用了字符数组,因此可以使用memset将数组的值设置为相同的值
memset( matrix , '+' , sizeof( matrix ) ) ;
你的代码
char matrix[20][20]= {{'+'}};
只会
matrix[0][0] = '+' ;
数组的其余部分将被设置为0。您可能需要编写嵌套循环,以将矩阵char
s初始化为“+”:
char matrix[20][20];
int i;
int j;
/* Fill matrix with '+' */
for (i = 0; i < 20; i++) {
for (j = 0; j < 20; j++) {
matrix[i][j] = '+';
}
}
char矩阵[20][20];
int i;
int j;
/*用“+”填充矩阵*/
对于(i=0;i<20;i++){
对于(j=0;j<20;j++){
矩阵[i][j]='+';
}
}
我之前已经这样做了,但在程序的后续步骤中,如果有意义,我必须使用此矩阵中的特定值来插入单词