我最近在C中看到了下面的代码,据说这是有效的,但我不确定。声明这个规范的功能
int max(x,y)
int x,y;
{
return (x>y)?x:y;
}
这种函数原型是否有效?如果是这样,请给出一些参考,以更多地了解这一点。
我最近在C中看到了下面的代码,据说这是有效的,但我不确定。声明这个规范的功能
int max(x,y)
int x,y;
{
return (x>y)?x:y;
}
这种函数原型是否有效?如果是这样,请给出一些参考,以更多地了解这一点。
这是旧式的“K & R”定义功能的方式。新的方式更好,所以不要自己写这样的代码。
哦,我明白了。谢谢。 –
此代码是有效的,它只是一个很老的标准。
如今在函数声明中的参数类型声明这些参数名称的前面:
int main(int argc, char **argv)
但多年以前,有另一个标准在句法是不同的:你必须指定类型像这样:
int main(argc, argv)
int argc; char **argv;
所以,没有什么奇怪在这里,不同的标准提供不同的语法
[见这也(http://stackoverflow.com/questions/1630631/alterna TE-C-语法换函数声明-使用情况)。这个问题之前已经被问过很多次了。 – Lundin