0

所以我一直在尝试使用 gcc 编译器使用 c 来编译这段代码(我发现很多对 c++ 的引用,但没有对 c 的引用,所以我问了这个)我Badly placed ()'s每次去运行程序时都会收到错误。所以我将它简化为一个非常简单的 Hello World 测试程序,我仍然得到同样的错误。

什么可能导致此错误?

#include <stdio.h>

int main(int argc, int* argv[])
{
        printf("Hello World\n");
        return 0;
}
4

1 回答 1

4

似乎您不是在尝试执行编译后的二进制文件,而是您有一个运行 a 的系统,tcsh并且您正在将 C 源代码直接提供给该 shell:

> tcsh /tmp/badly.c 
Badly placed ()'s.

AC 程序必须首先编译为二进制文件(此处/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 在他的回答中已经注意到的那样,通过-Wallgcc您的参数也会得到信息性消息,即您的main函数的参数是错误的。

于 2013-11-03T14:52:51.693 回答