首页 > 解决方案 > 链表添加和打印

问题描述

事实上我现在不知道我的代码有什么问题

到目前为止我的代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Person
{
    char name[50];
    int yearBorn;
    struct Person *next;
};

struct Person* push(int yearBorn, char *name, struct Person* previous)
{
    struct Person *pn = malloc(sizeof(struct Person));
    pn->next = NULL;
    pn->yearBorn = yearBorn;
    strcpy(pn->name, name);
    previous = pn;
    return pn;
}

int main()
{

    struct Person *head = NULL;
    struct Person *current = head;
    int n;
    printf("please enter the number of persons you wanna add: ");
    scanf("%d\n", &n);
    for(int i = 0; i < n ; i++ )
    {
    int yearBorn;
    char name[25];
      scanf("%d", &yearBorn);
      scanf("%s", name);
      current = push(yearBorn ,name, current);
    }
    
        while(head != NULL)
    {
        printf("%s,%d\n", head->name, head->yearBorn );
        //printf("%p\n", current->next);
        head = head->next;

    }
    return 0 ;
}

标签: cdata-structuresstruct

解决方案


#include<stdio.h>
#include<conio.h>
void insert();
void display();
struct person
{
   char name[20];
   int dob;
   struct person *link;
}*start=NULL;
void main()
{
    int op;
    do
{
    printf("\nENTER YOUR OPTION:");
    printf("1.insert 2.display 3.exit:");
    scanf("%d",&op);
    switch(op)
    {
        case 1:
            insert();
            break;
        case 2:
            display();
            break;
        case 3:
            printf("***EXIT***");
            break;
        default:
            printf("INVALID OPTION");
            break;
    }
}
while(op!=3);
}
void insert()
{
struct node *temp=(struct node *)malloc(sizeof(struct node));
printf("ENTER THE NAME:");
scanf("%s",&temp->name);
printf("ENTER THE DOB:");
scanf("%s",&temp->dob);
temp->link=NULL;
if(start==NULL)
{
start=temp;
}
else
{
    temp->link=start;
    start=temp;
}
}
void display()
{
struct node *temp;
for(temp=start;temp!=NULL;temp=temp->link)
{
    printf("->%s",temp->name);
    printf("->%d",temp->dob);   
}
}

推荐阅读