在我的程序中'('附近的语法错误是什么?

时间:2017-07-12 21:55:13

标签: c

我刚开始使用C语言进行编码,但无论我尝试什么,我都会继续编写语法错误。 “意外令牌附近的语法错误'('”

#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}

我尝试使用

进行编译
gcc helloworld1.c -o helloworld1
cc helloworld1.c -o helloworld1

它编译没有错误,但它总是搞砸了,当我尝试运行它时给我语法错误消息。任何帮助都将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:5)

根据BLUEPIXY的评论,很明显你拨打./helloworld1.c而不是./helloworld1。因此,你的shell期待一个shell脚本,但是C源代码不是一个有效的脚本(比如bash或类似的东西)。因此,shell(而不是C编译器)会给你一个语法错误,它与lanaguage C根本没有任何关系。尝试使用文件test.c,我在其中复制了以下代码行:

<强> test.c的

#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}

然后我调用chmod +ux test.c使其成为可执行文件,最后在终端中调用它(它需要一个bash脚本):

./test.c

的产率:

./test.c: line 2: syntax error near unexpected token `('
./test.c: line 2: `int main()'

错误位于第2行,因为第一行#include...#开头,因此被解释为评论。

答案 1 :(得分:0)

不执行.c文件,只需执行目标代码即可。 a.out

在终端输入:./a.out

C ++提示: 由于gcc在编译中没有返回错误,因此头文件中没有错误。 但是,如果将来遇到iostream.h找不到(例如),请尝试给出如下绝对路径: 头文件中的/usr/include/c++/7/iostream而非iostream.h