打印2D字符阵列 - 最后输入截止

时间:2018-03-12 15:24:14

标签: c arrays multidimensional-array conways-game-of-life

我正在制作生活游戏,用户在其中指定网格的尺寸,然后输入数据以填充网格。

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]);
    }
}

提供任何帮助

1 个答案:

答案 0 :(得分:2)

更改

scanf("%c",&grid[row][col]);

scanf(" %c",&grid[row][col]);
在%c之前

添加空格修复此问题。欢呼@WhozCraig