我有以下代码:
int sum(LinkedList * list) {
assert(list!=NULL);
Node *currentNode = list->head;
int sum = 0;
for (currentNode = currentNode->next; currentNode !=NULL; currentNode = currentNode -> next) {
sum = sum + currentNode->data;
}
return sum;
}
我希望它返回链表*列表中所有值的总和。但是,我不断遇到分段错误。任何人都可以帮我发现致命错误吗?
答案 0 :(得分:3)
将您的循环更改为:
for (currentNode = list->head; currentNode !=NULL; currentNode = currentNode -> next) {
sum = sum + currentNode->data;
}
这将解决两个问题:
list->head
不是NULL
;