普通代码上的A/UX cc编译器错误:“;声明的参数argc丢失";

普通代码上的A/UX cc编译器错误:“;声明的参数argc丢失";,c,compiler-errors,unix,arguments,motorola,C,Compiler Errors,Unix,Arguments,Motorola,在使用内置c编译器(cc)的非常古老的UNIX(针对680x0处理器的Apple a/UX 3.0.1)上,出现了这个问题 以下是我试图编译的代码: #include <stdlib.h> #include <stdio.h> int main() int argc; char **argv; { if (argc > 1) puts(argv[1]); return (EXIT_SUCCESS); } 使

在使用内置c编译器(cc)的非常古老的UNIX(针对680x0处理器的Apple a/UX 3.0.1)上,出现了这个问题

以下是我试图编译的代码:

#include <stdlib.h>
#include <stdio.h>

int main()
int argc;
char **argv;
{
        if (argc > 1)
            puts(argv[1]);
        return (EXIT_SUCCESS);
}
使用更现代的原型没有帮助,手动页面也没有帮助,谷歌搜索也没有帮助。我做错了什么?

对于旧skool K&R C,我认为需要:

#include <stdlib.h>
#include <stdio.h>

int main(argc, argv)
int argc;
char **argv;
{
    if (argc > 1)
        puts(argv[1]);
    return (EXIT_SUCCESS);
}
#包括
#包括
int main(argc、argv)
int-argc;
字符**argv;
{
如果(argc>1)
看跌期权(argv[1]);
返回(退出成功);
}
这是来自Lint的错误(代码53)。您可以在此处看到引发该错误的源代码:


您可以尝试查看该代码,看看是否能够找出导致该特定代码路径的原因。

非常感谢,这解决了它。我被这个例子误导了:@Fzn:所以现在我很好奇-为什么“使用更现代的原型”没有帮助?
#include <stdlib.h>
#include <stdio.h>

int main(argc, argv)
int argc;
char **argv;
{
    if (argc > 1)
        puts(argv[1]);
    return (EXIT_SUCCESS);
}