声明具有此规范的函数

时间:2016-03-08 14:50:19

标签: c function-prototypes

我最近看到C中的以下代码被认为是有效的,但我不确定。

    int max(x,y)
    int x,y;
    {
    return (x>y)?x:y;
    }

这种功能原型有效吗?如果是这样,请提供一些参考,以了解更多相关信息。

2 个答案:

答案 0 :(得分:5)

这是老式的" K& R"定义函数的方式。新方法更好,所以不要自己编写这样的代码。

答案 1 :(得分:2)

此代码有效,它只是一个非常古老的标准。

如今在函数声明中,参数的类型在这些参数的名称之前声明:

int main(int argc, char **argv)

但是多年前还有另一种语法不同的标准:你必须指定这样的类型:

int main(argc, argv)
    int argc; char **argv;

所以,这里没什么奇怪的,不同的标准提供不同的语法