【发布时间】:2017-03-21 08:09:38
【问题描述】:
尝试编译时
#include<stdio.h>
int main(){
printf("Hello World");
return 0;
}
Solaris11 gcc 出现以下错误:
hello.c:4:23:错误:';' 之前的预期表达式令牌
hello.c:6:1: 错误:预期为 ';'在'}'标记之前
Visual C++ 可以编译这段代码。
【问题讨论】:
-
我对这个问题做了一些修饰。我不知道为什么它不起作用!
-
无法在 GCC 6.3 上重现:ideone.com/UzYNuE(从问题复制粘贴的代码)- 也许您在某处有一些“不可见”符号?
-
@Bathsheba - 希腊问号浮现在脑海中fileformat.info/info/unicode/char/037e/index.htm
-
@StoryTeller:奇怪的是 MSVC 处理它。
-
无法在 gcc-5.4.0-1.x86_64 上重现。问题中的源代码不是提供给编译器的源代码的精确复制。 (这不是 OP 的错——不知道 SO 编辑框对粘贴的 Unicode 特殊字符有什么作用。)还有其他可能的问题——gcc 会如何处理不间断空格等?