【问题标题】:C string array not correct outputC字符串数组不正确的输出
【发布时间】:2013-10-21 23:53:52
【问题描述】:

最后一件事不应该在那里,它应该只显示数字,有人能告诉我为什么会这样吗?例如,当我输入 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');
    }

谢谢

【问题讨论】:

  • 这是你的完整代码吗?
  • 不,它不是,但另一部分给出了分配代码,这就是为什么我没有在这里添加它
  • 你的问题不够清楚。

标签: c arrays string char output


【解决方案1】:

在您的 123 示例中,scanf 将用字符 '1''2''3' 和零覆盖 c 数组的前 4 个元素。如果数组元素是'\0',您可能需要更改程序逻辑以不打印任何内容。

【讨论】:

  • 是的,我首先将 c[k] 更改为等于 '\0' 并且效果很好,非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多