如果“函數(shù)”是分別編譯的,則不會(huì)檢測(cè)到不匹配,“函數(shù)”將返回一個(gè)將main視為int的雙精度...根據(jù)我們所說(shuō)的關(guān)于聲明如何必須與定義匹配的說(shuō)法,這可能似乎令人驚訝??赡軙?huì)發(fā)生不匹配的原因是,如果沒(méi)有函數(shù)原型,則該函數(shù)會(huì)通過(guò)其在表達(dá)式中的首次出現(xiàn)來(lái)隱式聲明,例如 sum += "the function"(line);如果在表達(dá)式中出現(xiàn)一個(gè)之前未聲明的名稱,并在其后加上左括號(hào),則上下文將其聲明為函數(shù)名稱,假定該函數(shù)返回一個(gè)int值,并且不假設(shè)其參數(shù)成立。對(duì)于這個(gè)模棱兩可的問(wèn)題,我事先表示歉意,但這意味著什么呢?順便說(shuō)一下,這是Brian W. Kernighan和Dennis M. Ritchie的C編程語(yǔ)言第二版的第73頁(yè)第4.3章。
3 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
只是說(shuō)明,如果編譯器遇到了調(diào)用未知函數(shù)的代碼,那么它將隱式地將其視為已看到已聲明形式的原型 int unknown();
- 3 回答
- 0 關(guān)注
- 655 瀏覽
添加回答
舉報(bào)
0/150
提交
取消