Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么我的2D数组只打印出一个值?_C_Arrays_2d - Fatal编程技术网

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]='+';
}
}

我之前已经这样做了,但在程序的后续步骤中,如果有意义,我必须使用此矩阵中的特定值来插入单词