代码我试图回头:
node insert(node *head, int num){
node *newnode;
newnode=getnode();
newnode->data=num;
nednode->next=NULL;
if(head==NULL){
head=newnode;
newnode->next = NULL;
}
head->next=newnode;
return head;
}
编译后,我收到此错误:
"错误:预期的声明说明符或' ...'之前' *'令牌"
提前致谢
答案 0 :(得分:1)
您的功能原型似乎不完整:
node insert(*head,num)
应该是:
node insert(node *head, int num)
答案 1 :(得分:1)
您的返回值应该是node *。因此它应该是node * insert(node * head,int num);
你也有一个错误的newnode。我尝试了它,在更改返回值后它对我有效。
答案 2 :(得分:0)
您的代码应该是这样的。
将nednode更改为newnode。
当您使节点与链接连接时,您需要找到链接的尾部,并将新节点连接到尾部。
你应该返回节点*而不是节点。因此,将func的返回类型更改为node *。
node* insert(node *head, int num){
node *newnode;
newnode=getnode();
newnode->data=num;
newnode->next=NULL;
if(head==NULL){
head=newnode;
} else {
node *p = head;
while(p) {
p = p->next;
}
p->next=newnode;
}
return head;
}