C语言:单链表简单功能实现

来源:互联网 发布:windows server 10 编辑:程序博客网 时间:2024/05/22 17:26
#include <stdio.h>#include <stdlib.h>#include <ctype.h>typedef struct person person;struct person{    char name[10];    int age;    int height;    person *next;};person *first = NULL;person *current = NULL;person *previous = NULL;void main(){    char flag;    for (;;)    {        printf("DO you want to continue logging(Y/N)");        scanf("%c",&flag);        if (toupper(flag) == 'N')            break;        current = (person*)malloc(sizeof(person));        if (current == NULL)//检查是否分配内存成功            printf("Memory allocation failed");        if(first==NULL)            first = current;        if (previous != NULL)            previous->next = current;        printf("Input name\n");        scanf("%s", &current->name);        printf("Input age\n");        scanf("%d", &current->age);        printf("Input height\n");        scanf("%d", &current->height);        current->next = NULL;        previous = current;    }    printf("\n");    current = first;    for (int i = 1; current != NULL;i++)    {        printf("%02d号\r姓名:%s\t\t年龄:%d\t身高:%d\n",i,current->name,current->age,current->height);        current=current->next;    }}