所以我一直在尝试用gcc编译器用c来编译这段代码(我发现有很多对c++的引用,但没有对c的引用,所以我问了这个问题),每次我运行程序时,我都会得到错误Badly placed ()'s
。所以我把它简化成了一个非常简单的Hello World测试程序,我仍然得到同样的错误。
是什么导致了这个错误?
#include <stdio.h>
int main(int argc, int* argv[])
{
printf("Hello World\n");
return 0;
}
最佳答案
似乎您并没有试图执行编译后的二进制文件,但是您有一个运行tcsh
的系统,并且您正在将C源代码直接输入该shell:
> tcsh /tmp/badly.c
Badly placed ()'s.
C程序必须首先编译为二进制文件(此处:
/tmp/badly
),然后必须执行该二进制文件:> gcc /tmp/badly.c -Wall -o /tmp/badly
/tmp/badly.c:3:5: warning: second argument of 'main' should be 'char **' [-Wmain]
> /tmp/badly
Hello World
正如ouah在他的回答中已经注意到的,当
-Wall
参数变为gcc
时,您也会得到一条信息性消息,即main
函数的参数是错误的。