一个链表的问题 我想建立一个数组,然后用头插法将其插入到建立的链表里。为什么输出不对?

比如输入1234,理想输出是4321,但却除了一堆其他的东西。如果a[]直接赋值,就正确,用gets赋值,就不对。哪位大佬帮看一下,谢了。

源程序:

#include<stdio.h>

#include<malloc.h>

typedef struct DNode

{

char data;

DNode *next;

}LinkList;

void DispList(LinkList *L)

{

LinkList *p=L->next;

while(p!=NULL)

{

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

p=p->next;

}

printf("\n");

}

main()

{

char a[30];

int i=0;

LinkList *L,*s;

gets(a);

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

L->next=NULL;

for(i=0;a[i]!='\0';i++)

{

s=(LinkList*)malloc(sizeof(LinkList));

s->data=a[i];

s->next=L->next;

L->next=s;

}

DispList(L);

}

第1个回答  2017-11-14
老哥你弄懂了吗 原因是啥 我也遇到同样的问题
第2个回答  2017-04-14
char a[30];数组没有初始化。。。追问

不是这的问题😓

找到原因了

本回答被提问者采纳
相似回答