“错误:C编译中出现"\342”“、" \200”“、“\213”“错误

zsohkypk  于 2023-01-20  发布在  其他
关注(0)|答案(4)|浏览(510)

下面是我的代码

int main()​
{
    float avg, age[] = { 23.4, 55, 22.6, 3, 40.5, 18 };
    avg = average(age); /* Only name of array is passed as argument. */
    printf("Average age=%.2f", avg);
    return 0;
}

int main()中的编译错误:

error: stray '\342' in program
error: stray '\200' in program
error: stray '\213' in program
kd3sttzy

kd3sttzy1#

你的源文件中有“垃圾字符”。
\342 \200 \213是八进制的0xE 2 0x 80 0x 8B,在UTF-8中是一个 * zero width space *(Unicode U+200B),这是任何C编译器都无法理解的(也是您无法看到的,毕竟是零宽度,当UTF-8正确显示时)。

  • 〉使用文本或代码编辑器(如果不保存为UTF-8,甚至Windows的Notepad也可以,但任何其他编辑器都更好)和/或集成开发环境来编写代码。不要使用字处理器或类似的工具,因为这可能会引入不需要的字符。
x9ybnkn6

x9ybnkn62#

代码看起来很好。
根据我的个人经验,stray '\xxx'通常是由于在代码中使用无效字符(字符串常量除外)而导致的,如果您的语言不是英语,这种情况会更频繁地发生。
例如,以下代码生成这样的错误:

int main(){return 0;}

我找不到问题所在,所以我唯一的建议是确保您的IME切换为英语,然后再次键入代码

nimxete2

nimxete23#

这似乎是代码中的错误字符的问题。字符是不可打印的,如或其他字符。打开代码,例如在记事本++中,选择菜单选项查看所有字符,菜单 * 查看 * → * 显示不可见字符 * → * 显示所有字符 * 并从代码中删除任何错误字符。

zkure5ic

zkure5ic4#

使用以下网站。它会显示不良字符,然后将其删除:

  • 一个月一次 *

相关问题