我刚开始使用C语言进行编码,但无论我尝试什么,我都会继续编写语法错误。 “意外令牌附近的语法错误'('”
#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}
我尝试使用
进行编译gcc helloworld1.c -o helloworld1
cc helloworld1.c -o helloworld1
它编译没有错误,但它总是搞砸了,当我尝试运行它时给我语法错误消息。任何帮助都将不胜感激。谢谢!
答案 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