2015-10-20 40 views
-2
Int test(List *L, int c, List *PrevL){ 

addItem(L,c); 

return (L, C, PrevL); 
} 

每次該方法返回時,如何獲得Previous列表? 我已經試過這,但它沒有工作獲取之前的列表

Int test(List *L, int c, List *PrevL, int C){ 

addItem(L,c); 
if (c > 0) 
addItem (L, L->item[C -1) 
return (L, C, PrevL, c + 1); 
} 
+0

建議你抓住一個基本教程/本書,先學C的基本面。你的代碼不是有效的C語法。特別是在C中,一個函數只能返回一個值。 – kaylum

+0

歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。還研究如何創建一個MCVE([如何創建一個最小,完整和可驗證的示例?](http://stackoverflow.com/help/mcve))。您的代碼無法編譯,並且至少有兩種類型未顯示定義。您似乎使用逗號運算符的方式非常廣泛,並且毫無意義(但可能是因爲您誤解了某些內容)。 –

回答

0

這是一個不錯的嘗試:

Int test(List *L, int c, List *PrevL){ 

addItem(L,c); 

return (L, C, PrevL); 
} 

然而,「詮釋」不是一個函數返回,或其他任何有效的類型。

下會更接近你的要求:

List *test(List *L, int c, List *PrevL) 
{ 
    addItem(L,c); 
    return (PrevL); 
} 

,並注意它是如何更易於閱讀時,括號垂直對齊和代碼塊是一致的縮進。

這確實假設參數'PrevL'是一個指向先前列表的指針。

請注意,返回類型'List *'匹配要返回的東西的類型。

注:C語言是大小寫敏感的,所以「誠信」是不一樣的「廉政」