这只是一个好奇的事情,但我有以下代码。我正在递归地向链表添加元素。这段代码非常好用。
但是当我从insert函数中删除return语句时,它不会抛出错误。程序编译,当我运行它时,我得到一个“分段错误”。
我发现这很奇怪。丢失的return语句不应该产生错误吗?
只是想知道它为什么不会:
Node* insert(Node* node, int values[]) {
for (int i=0; i < 9; i++) {
insertRecursively(node, values[i]);
}
return node;
}
int main() {
int a[] = {1,2,3,4,5,6,7,8,9};
node = insert(node, a);
print(node);
return 0;
}