我最近看到C中的以下代码被认为是有效的,但我不确定。
int max(x,y)
int x,y;
{
return (x>y)?x:y;
}
这种功能原型有效吗?如果是这样,请提供一些参考,以了解更多相关信息。
答案 0 :(得分:5)
这是老式的" K& R"定义函数的方式。新方法更好,所以不要自己编写这样的代码。
答案 1 :(得分:2)
此代码有效,它只是一个非常古老的标准。
如今在函数声明中,参数的类型在这些参数的名称之前声明:
int main(int argc, char **argv)
但是多年前还有另一种语法不同的标准:你必须指定这样的类型:
int main(argc, argv)
int argc; char **argv;
所以,这里没什么奇怪的,不同的标准提供不同的语法