2012-01-27 69 views
5

請解釋的代碼在C下面的代碼片段是如何有效的一個混淆代碼用C

int main(c, v) char *v; int c;{ 
//program body 
} 

我對面的國際C語言混亂代碼大賽一些例子迷迷糊糊的我只是好奇。

+0

請參閱此問題:http://stackoverflow.com/questions/8869768/defining-the-functions-argument-type-after-the-is-it-a-very-old-standard – 2012-01-27 13:44:16

回答

2

這是ANSI之前的函數聲明風格,如果你指的是爲什麼char * v; INT;不在括號內。

0

這是「K & R C」,其中函數參數在參數列表的末尾和函數主體的開始之間聲明。

0

這只是K-& R風格的函數定義,雖然標記爲「過時」,但標準仍然允許。該代碼中不好的是,第一個參數應該是char **v(或char *v[])是標準的。