字符链表(单向)C语言

//创建一个链表,该链表可以存放从键盘输入的任意长度的字符串,以按下回车键作为输入的结束。统计输入的字符个数并将其字符串输出。
#include<stdio.h>
#include<stdlib.h>
struct symbol{
    char sym;
    struct symbol *nextPtr;
};
struct symbol *createsym(struct symbol *p);
void listsym(struct symbol *p);
int main(){
    struct symbol *head;
    head=NULL;
    head=createsym(head);
    listsym(head);
    return 0;
}
struct symbol *createsym(struct symbol *p){
    //p=(struct symbol *)malloc(sizeof(struct symbol));
    struct symbol *p1,*p2;
    p1=p2=(struct symbol*)malloc(sizeof(struct symbol));
    printf("请输入字符串以enter结束:\n");
    scanf("%c",&p1->sym);
    p1->nextPtr=NULL;
    p=p1;
    while(p1->sym!='\n'){
        p2=p1;
        p1=(struct symbol *)malloc(sizeof(struct symbol));
        scanf("%c",&p1->sym);
        p1->nextPtr=NULL;
        p2->nextPtr=p1;
    }
    printf("输入完成!\n");
    return p;
}
void listsym(struct symbol *p){
    if(!p){
        printf("字母链表为空!\n");
    }else{
        printf("字母序列为:\n");
        while(p){
            printf("%c",p->sym);
            p=p->nextPtr;
        }
    }
}

 

转载于:https://www.cnblogs.com/dopeboy/p/9514795.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值