我最近在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