gpt4 book ai didi

C:扫描输入逻辑错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:08 24 4
gpt4 key购买 nike

我有以下读取字符矩阵并将其打印回来的实现。它工作正常,但是当我为它提供矩阵时,它会等待另一个字符,然后正确输出矩阵。我怎样才能解决这个问题,这样我就不需要输入其他字符了?

示例输入

3 4
0001
0110
1110

示例输出

0001
0110
1110

我的代码

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

int main()
{
int n, m; /* n, m - dimensions of matrix */
int i, j; /* i, j - iterators */
char **matrix; /* matrix - matrix input */
scanf ("%d %d\n", &n, &m);
matrix = (char **) malloc (sizeof (char *) * n);
for (i = 0; i < n; ++i)
{
matrix[i] = (char *) malloc (sizeof (char) * m);
}
for (i = 0; i < n; ++i)
{
for (j = 0; j < m; ++j)
{
scanf ("%c ", &matrix[i][j]);
}
}
for (i = 0; i < n; ++i)
{
for (j = 0; j < m; ++j)
{
printf ("%c", matrix[i][j]);
}
printf ("\n");
}
}

提前致谢。

最佳答案

%c 之前放置空格。如果 %c 之后有空格,scanf() 将继续读取并忽略所有空格。因此,您必须输入一个非空白字符。

改变:

    scanf ("%c ", &bitmap[i][j]);

到:

        scanf (" %c", &bitmap[i][j]);

关于C:扫描输入逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16375647/

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