void add(llist *list, lnode *newNode){
list->size++;
addRecursion(&list->head, newNode);
}
lnode* addRecursion(lnode **node, lnode *newNode){
if(*node == NULL){
*node = newNode;
}
else{
lnode *nextNode = (*node)->next;
(*node)->next = addRecursion(&nextNode, newNode);
}
return *node;
}
此代碼正常工作..我在網上查看了代碼並做了一些更改。但我仍然不明白爲什麼addRecursion函數必須具有返回類型。我改變了功能類似鏈接列表遞歸...爲什麼我需要return語句?
void addRecursion(lnode **node, lnode *newNode){
if(*node == NULL){
*node = newNode;
}
else{
lnode *nextNode = (*node)->next;
addRecursion(&nextNode, newNode);
}
}
然後它沒有工作..
如果你檢查返回的是什麼,以及在良好函數結束時保存了什麼lnode – Ryan 2011-03-24 23:42:46