Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Matrix_Multidimensional Array - Fatal编程技术网

C 2D阵列未打印正确的输出

C 2D阵列未打印正确的输出,c,arrays,matrix,multidimensional-array,C,Arrays,Matrix,Multidimensional Array,我正在尝试初始化一个2D数组,除了索引(2,2)将用字母“C”填充外,该数组用C填充X。然而,当我运行下面的代码时,我不仅在(2,2)处得到了一个“C”,而且出于某种原因,我最终在索引(1,9)处得到了一个“C”(参见下面的输出) 我尝试更改宽度和高度值,并意识到它有时会起作用。例如,当我使height=10,width=10时,我得到了正确的输出,在其正确的插槽中只有一个“C” 我对C编程相当陌生,不知道为什么它有时会产生正确的输出。任何帮助都将不胜感激 int width = 10; int

我正在尝试初始化一个2D数组,除了索引(2,2)将用字母“C”填充外,该数组用C填充X。然而,当我运行下面的代码时,我不仅在(2,2)处得到了一个“C”,而且出于某种原因,我最终在索引(1,9)处得到了一个“C”(参见下面的输出)

我尝试更改宽度和高度值,并意识到它有时会起作用。例如,当我使height=10,width=10时,我得到了正确的输出,在其正确的插槽中只有一个“C”

我对C编程相当陌生,不知道为什么它有时会产生正确的输出。任何帮助都将不胜感激

int width = 10;
int height = 7;
int x = 2;
int y =2;
int limit = 3;

//initialising 2D array
char board[width][height];
for(int i = 0; i < height; i++){//rows
    for (int j = 0; j < width; j++){//cols
        if(i == y && j == x){
            board[y][x] = 'C';
        }
        else{
            board[i][j] = 'X';
        }
    }
}
//printing 2D array
for(int i = 0; i < height; i++){//rows
    for (int j = 0; j < width; j++){//cols
        printf("%c ", board[i][j]);
    }
    printf("\n");
}
int-width=10;
整数高度=7;
int x=2;
int y=2;
整数极限=3;
//初始化二维数组
炭板[宽度][高度];
对于(int i=0;i

数组声明有误。 而不是

char board[width][height];
你需要

char board[height][width];
/*          Rows    Cols  */

因为它是一个字符数组,你可以这样做:
memset(board,'X',width*height);板[y][x]=“C”您是否只希望在少数位置使用“C”,而其余位置使用“X”?如果是这样,memset()可能更好。使用它将所有值设置为“X”,然后使用条件将数组中的特定值设置为其他值。以后,始终将输出复制粘贴为文本。不要使用图像显示文本。感谢专业提示。我会试试:)啊,干杯,伙计。我知道我忽略了一些简单的事情。谢谢:)