流浪"\ 303"并在程序中迷失"\ 215" - 为什么?

don*_*key 2 c

我没有在我在这里找到的程序中迷路"\ 302" ,而是收到了错误消息:

algo.c:118: error: stray ‘\303’ in program
algo.c:118: error: stray ‘\215’ in program
Run Code Online (Sandbox Code Playgroud)

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

  • 编辑

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

abl*_*igh 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
Run Code Online (Sandbox Code Playgroud)

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

解决方案:转到相应的行并删除字符.cat -te或者less用于识别哪些字符有问题.

  • 在UTF-8中,序列0xC3 0x8D代表单个字符[U + 00CD LATIN CAPET LETTER I WITH ACUTE](http://codepoints.net/U+00CD),这可能就是你所看到的. (3认同)