c语言输出链表一直烫烫,C语言单链表,输出总是最后少一个,求大神

#include

#include

#include

#include

#define OK 1

#define _CRT_SECURE_NO_WARNINGS

typedef int Status;

typedef char QElemType;

typedef struct LNode {

QElemType data;

struct LNode *next;

}LNode, *LinkList;

LinkList L1;

LinkList CreatList_L(LinkList L, int n);

Status DispList_L(LinkList L);

void main()

{

char c;

int n;

while (1)

{

printf("列表\n");

printf("===========================================\n");

printf("1.创建链表(字符型)\n2.遍历链表\n3.统计单链表中的字符\n");

printf("===========================================\n");

printf("请输入你的选择:");

scanf_s(" %c", &c);

switch (c)

{

case'1':

printf("请输入字符串的长度:\n");

scanf_s(" %d", &n);

L1 = CreatList_L(L1, n);

break;

case '2':

DispList_L(L1);

break;

}

}

system("PAUSE");

}

LinkList CreatList_L(LinkList L, int n)

{

int i;

LNode *p;

L = (LinkList )malloc(sizeof(LNode));

L->next = NULL;

for (i = n; i > 0; --i) {

p = (LinkList )malloc(sizeof(LNode));

printf("请输入%d个元素:\n", n - i + 1);

scanf_s("%c\n", &p->data);

p->next = L->next;

L->next = p;

}

printf("一个拥有%d个元素的链表已经被建立\n", n);

return L;

}

Status DispList_L(LinkList L)

{

LNode *p=L;

if (p == NULL) //if (p==NULL)

{

printf("A null list!");

return 0;

}

p = p->next;

while (p != NULL)//while (p!=NULL)

{

printf("%c", p->data);

p = p->next;

}

printf("\n");

return OK;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值