【问题标题】:Displaying this symbol ╠ instead of desired characters显示此符号 ╠ 而不是所需的字符
【发布时间】:2012-10-15 22:40:17
【问题描述】:

这是一些代码的sn-p。 ╠ 不会显示我正在检查的字符。

while (c!= EOF)
{
    c = getc(fp);
    if (c==32 || c==33 || (c>=97 && c<=122) || c==35)
    j++;
    if(j==clns){
    i++;
    j=0;
    mA[i][j]=c;
    }

}


for (i = 0; i < 10; i++) {
    for (j = 0; j < 20; j++) {
        printf("%c", mA[i][j]);
    }
    printf("%c\n", mA[i][j]);
}

提前感谢您的帮助。 :)

【问题讨论】:

  • 该“符号”很可能无法放入单个 char,因为它是 unicode。
  • 请发布完整代码。你初始化mA了吗?
  • 我好多年没见过那个角色了!!曾经是您在 DOS 中创建基于文本的窗口的角色之一,在 MS Windows 出现之前。它当然曾经适合 char,因为它是扩展 ASCII 集 (128-255) 的一部分。但也许它现在已经转移到其他地方了,因为文本窗口是一门失传的艺术。
  • 啊,我们开始吧...任何曾经有过this image(或类似的)打印输出的人都在手边。如果我输入 Alt-204(在数字键盘上),我仍然会得到一个 。看起来标准仍然存在并且正在发挥作用。
  • ╠ 在代码页 437 中为 0xCC,MSVC fills 0xCC to uninitialized memory to help debugging。这意味着您访问了未初始化的内存。你可以在这里找到关于 ╠ 和 0xCC 的大量问题

标签: c arrays 2d


【解决方案1】:

你只写信给mA[i][0]

if(j==clns){
    i++;
    j=0;
    mA[i][j]=c;
}

所以您正在打印恰好在数组中的随机垃圾。将作业移出if

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    相关资源
    最近更新 更多