yxlovemoney 发表于 2008-6-29 22:33

问个链表问题

程序如下(其中一部分)
[code]
#include<stdio.h>
#include<stdlib.h>

typedef struct LNode
{
        char data;
        struct LNode *next;
}LNode,*LinkList;

void CreateList(LinkList *L,int n)
{
        //逆位序输入n个元素的值,建立带表头结点的单链线性表L
        int i;
        LinkList p;
        (*L) = (LinkList)malloc(sizeof(LNode));
        (*L)->next = NULL; //先建立带头结点的单链表
        for(i=n;i>0;--i)
        {
                p = (LinkList)malloc(sizeof(LNode)); //生成新结点
                scanf("%c",&p->data);
                p->next = (*L)->next;
                (*L)->next = p;
        }
}
void display(LinkList *L)
{
        LinkList di;
        di = (*L)->next;
        while(di!=NULL)
        {
                printf("%c\t",di->data);
                di = di->next;
        }
}
void main()
{
        LinkList link;
       
        CreateList(&link,5);
        display(&link);
}
[/code]

我插入是5个,但为什么,只能输入3个呢?而且输出时,怎么会怪怪的?[tk01] 拜托,帮帮忙

yxlovemoney 发表于 2008-6-29 22:59

知道了,原来是流问题
fflush(stdin);就没事了.[tk01]

页: [1]

编程论坛