最后一件事不应该在那里,它应该只显示数字,有人能告诉我为什么会这样吗?当我举个例子 char [5] = "12345";它工作得很好,删除 fors 中的 if
for (k = 0; k < 12; k++)
{
c[k] = 'g';
printf("%", c[k]);
}
printf("input:");
scanf("%s", c);
int j, i;
unsigned int pat;
for (j = 0; j <5; j++)
{
for (i = 0; i < 12; i++)
{
if (c[i+1]!='g')
{
pat = get_row_pattern(c[i], j);
print_bits(pat, NUM_COLS + 1);
}
}
print_char('\n');
}
谢谢
最佳答案
在您使用 123 的示例中,scanf
将用字符 '1'
覆盖 c
数组的前 4 个元素,'2'
、'3'
和一个零。如果数组元素是 '\0'
,您可能需要更改程序逻辑以不打印任何内容。
关于C 字符串数组输出不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19506777/