流浪" \ 303"和流浪" \ 215"在节目中 - 为什么?

时间:2014-03-13 16:05:53

标签: c

而不是在我找到here的程序中迷路“\ 302”,我收到了错误消息:

algo.c:118: error: stray ‘\303’ in program
algo.c:118: error: stray ‘\215’ in program

我似乎无法弄明白,这是什么?

  • EDIT

为了将来参考,stray'\ XXX'对编译器来说意味着一个难以理解的字符。解决方法是找到'\ XXX'字符(现在我发现它并不总是这个unicode,它不能是一个错误的定义,例如'## define'中的'##'),然后删除或纠正它。祝你好运!

3 个答案:

答案 0 :(得分:6)

这些是:

00C3    LATIN CAPITAL LETTER A WITH TILDE
        : 0041 0303
        U+00C3, character Ã‬, decimal 195, hex 0xC3, octal \303, binary 11000011
        UTF-8: 0xc3 0x83

008D    <control>
        = REVERSE LINE FEED
        U+008D, character ‬, decimal 141, hex 0x8D, octal \215, binary 10001101
        UTF-8: 0xc2 0x8d

我猜这些不是故意的。如果您在窗口完全加载并完成其stty之前开始键入,有时在终端中进行编辑可以产生此效果。我经常在emacs中看到这种事情。

解决方案:转到相应的行并删除字符。 cat -teless可用于识别哪些字符存在问题。

答案 1 :(得分:0)

作为一个额外的答案,当我想输入需要Alt Gr组合的字符时,它会发生在我身上。通常我的手指滑落,导致隐藏的垃圾特征。 如上所述,更好的解决方案是重写斑点线。

答案 2 :(得分:0)

在代码中使用非ascii字符可能会导致此错误。 在enum

中使用öäü...我遇到了sam问题