我正在制作生活游戏,用户在其中指定网格的尺寸,然后输入数据以填充网格。
X = Live
。 =死了
我当前代码的问题是,如果用户说想要3x3网格(9个值),则在打印网格时输出8个。我已经尝试将条件更改为< =,或者以-1开始循环,但这似乎不起作用
我使用过我在其他帖子上看过的循环,例如:Printing a 2D array in C但问题仍然存在。
下面是代码:
int WIDTH, HEIGHT, CYCLES;
scanf("%d %d %d",&WIDTH,&HEIGHT,&CYCLES);
//Grids
char grid[HEIGHT][WIDTH];
char temp[HEIGHT][WIDTH];
//Columns + Rows
for (int row = 0; row <HEIGHT ; ++row)
{
for (int col = 0; col <WIDTH ; ++col)
{
scanf("%c",&grid[row][col]);
}
}
for (int row = 0; row <HEIGHT ; ++row)
{
for (int col = 0; col <WIDTH ; ++col)
{
printf("%c",grid[row][col]);
}
}
提供任何帮助
答案 0 :(得分:2)
更改
scanf("%c",&grid[row][col]);
到
scanf(" %c",&grid[row][col]);
在%c之前添加空格修复此问题。欢呼@WhozCraig