我正在尝试将两个结构合并为一个 例如。
l1 = add(1, add(2, NULL));
l2 = add(3, add(4, NULL));
myappend(l1,l2) = add(1,add(2,add(3,add(4,NULL))))
我尝试了很多我能想到的其他方法......但它不起作用......任何人都可以帮助我吗?
struct list_node {
struct list_node * rest;
int first;
};
list add(int in, list l) {
list r = malloc(sizeof(struct list_node));
r->first = in;
r->rest = l;
return r;
}
// My attempted solution;
list myappend(list l1,list l2){
list k = malloc(sizeof(struct list_node));
k=l2;
k=add(l1,k);
return k;
}
最佳答案
list myappend(list l1,list l2){
list k = l1;
while (k->rest != NULL)
{
k = k->rest;
}
k->rest = l2;
return l1;
}
应该适合你。
关于c - 附加两个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682704/