#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int value;
struct node *next;
}Node;
Node *head=NULL;
Node *create();
int main(){
Node *create();
while(head){
printf("%d\n",head->value);
head=head->next;
}
return 0;
}
Node *create(){
int number;
do{
scanf("%d",&number);
if(number!=-1){
Node *p=(Node*)malloc(sizeof(Node));
p->value=number;
p->next=NULL;
Node *last=head;
if(last){
while(last->next){
last=last->next;
}
last->next=p;
}
else{
head=p;
}
}
}while(number!=-1);
return head;
}
node* create是定义名为create的指针变量,不是调用你的create函数,猜你想用head = create();
主函数里Node *create();是函数声明,当然不会调用。
主函数里是函数声明的格式,前面的Node*是函数返回值类型,调用函数可以写create();