求高手程序运行结果不对
代码如下:#include "stdio.h"
#include "stdlib.h"
typedef int Status; //状态类型
typedef struct LNode //结点
{ char data;
struct LNode *next;
}LNode;
typedef struct LinkList //链表
{ LNode *head,*tail;
int len;
}LinkList;
Status Create_L(LinkList &L) //尾插法创建链表
{ int i,n;
LNode *p;
printf("请输入链表的结点个数:");
scanf("%d",&n);
L.head=(LNode *)malloc(sizeof(LNode));
L.tail=L.head;L.tail->next=NULL;L.len=0;
//创建头结点
printf("请依此输入数据:");
for(i=0;i<n;i++)
{ p=(LNode *)malloc(sizeof(LNode));
scanf("%c",&p->data);
p->next=NULL;L.tail->next=p;
L.tail=p;++L.len;
}
return 1;
}
Status Print_L(LinkList L)
//输出链表
{ LNode *p;
p=L.head->next;
while(p)
{printf("%c",p->data);p=p->next;}
printf("\n");
return 1;
}
int main()
{ LinkList L;
Create_L(L);
printf("链表的长度为:%d\n",L.len);
printf("链表的最后一个为:%c\n",L.tail->data);
Print_L(L);
}
问题:
输入1时程序结束?
--------------------------------------
我知道怎么了,重问个问题?
程序运行:1.请输入链表的结点个数:4回车
2.请依此输入数据:abcdefg
链表实际为 头->回车->a->b->c
怎么使链表为abcd而不读入回车
[ 本帖最后由 ileelsai 于 2011-9-26 00:51 编辑 ]