gpt4 book ai didi

c - 为什么要改变C语言中二维数组的值?

转载 作者:行者123 更新时间:2023-11-30 16:31:05 24 4
gpt4 key购买 nike

这是我的简单代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
int row = 2,col = 5;

//This my word array with new line character and ABCDE and FGHIJ
char hello[] = "ABCDE\nFGHIJ\n";


//Here i put these letters into 2d char array and print end print each elements
char grid[col][row];
int count = 0;
for(int i = 0; i<row;i++){
for(int j = 0; j<col;){
if(hello[count] != '\n'){
grid[i][j] = hello[count];
printf("%c ",grid[i][j]);
j++;
}
count++;
}
printf("\n");
}
puts("--------------------------------");


//Here i print each elements again
for(int p = 0; p<row;p++){
for(int q = 0; q<col;q++){
printf("%c ",grid[p][q]);
}
printf("\n");
}
return 0;
}

终于接受了

ABCDE
FGHIJ

但是结果是

ABFGH
FGHIJ

造成这种现象的原因是什么。我的意图是将每个字母放入网格二维字符数组中。但是当我打印其中的每个元素后,它显示错误。

最佳答案

您应该在 if block 中增加 count 变量。

关于c - 为什么要改变C语言中二维数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com