gpt4 book ai didi

c - 从二维数组打印字符时出现颠倒的问号

转载 作者:行者123 更新时间:2023-11-30 15:42:08 25 4
gpt4 key购买 nike

我有一个二维数组,它是我正在制作的游戏的原型(prototype)“ map ”。它接受 map 的长度和宽度,然后输入要制作 map 的字符类型(a - _ 或 .),并将字符 X 打印 Y 次。

出于某种原因,每当我的网格 X 和 Y 彼此不相等且值约为 20 或更高时,我会得到颠倒的问号,而不是我指定的字符符号。

为什么会这样?

#include <stdio.h>

int main(){

int Y=25;
int X=15;
char map[Y][X];

int i,j=0;

for (i=0;i<Y;i++)
for(j=0;j<X;j++)
map[Y][X]='-'//any character;


for (i=0;i<Y;i++){
for(j=0;j<X;j++){
printf("%c",map[Y][X]);}
printf("\n");}

return 0;

}

最佳答案

不,从 X 和 Y 中减一不是重点。你增加了 i 和 j。使用它们。考虑使 X 和 Y 为常量。

int Y = 25;
int X = 15;
char map[Y][X];

int i, j = 0;

for (i = 0;i < Y;i++)
for (j = 0;j < X;j++)
map[i][j] = '-'; //any character

for (i = 0;i < Y;i++)
{
for (j = 0;j < X;j++)
{
printf("%c", map[i][j]);
}

printf("\n");
}

return (0);

关于c - 从二维数组打印字符时出现颠倒的问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307756/

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