我正在尝试将节点添加到链接列表的开头。该程序要求用户输入他想要输入的名字的数量,所以如果我放3,它应该问我3个不同的名字并在列表中显示它们,而是程序重复打印相同的名称。
struct node{
char data[20];
struct node* link;
}Damn;
struct node* head;
//Insert
void Insert(char p[20]){
struct node* temp = (struct node*) malloc(sizeof(struct node));
strncpy(Damn.data, p);
temp->link = head;
head = temp;
}
//Print
void Print()
{
struct node* temp = head;
while(temp != NULL){
printf(" %s \n", Damn.data );
temp = temp->link;
}
}
//Main
int main(){
head = NULL;
int i, n;
char p[20];
printf("How many names you want to enter\n");
scanf("%d", &n);
for(i=1; i<(n+1); i++){
printf("Enter the %dth name", i);
scanf("%s", p);
Insert(p);
Print();
}