| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:链表的创建问题
取消只看楼主 加入收藏
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
结帖率:90%
收藏
已结贴  问题点数:2 回复次数:2 
链表的创建问题
#include   <stdio.h>
#include   <stdlib.h>
#include   <malloc.h>
void CreateList_L(LinkList  *&L,int n)        /*尾插法建立单链表*/
{
    LinkList *s,*r;int i;
    L=(LinkList *)malloc(sizeof(LinkList));      /*创建头结点*/
    L->next=NULL;
    r=L;                    /*r始终指向终端结点,开始时指向头结点*/
    for (i=0;i<n;i++)
    {   
        s=(LinkList *)malloc(sizeof(LinkList));/*创建新结点*/
        scanf("%3c",&s->data);
        r->next=s;            /*将*s插入*r之后*/
        r=s;
    }
    r->next=NULL;            /*终端结点next域置为NULL*/
}  //CreateList_L


void DispList_L(LinkList *L)
{
    LinkList *p=L->next;
    while (p!=NULL)
    {    printf("%c ",p->data);
        p=p->next;
    }
    printf("\n");
}  //DispList_L




#include  "linklist.h"
void main()
{
        LinkList *L;
        CreateList_L(L,5);
        DispList_L(L);
}

怎么我输入数据后没有结果啊??  刚学习,有很多地方不懂,求完整程序一份。。。。。
搜索更多相关主题的帖子: 师范大学 include 时间段 武汉 宁波 
2011-07-26 17:54
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
收藏
得分:0 
好奇怪啊!!

对于下面的程序:

#include   <stdio.h>
#include   <stdlib.h>
#include   <malloc.h>

typedef  int  ElemType;

typedef  struct  LNode
{
ElemType       data;
struct  LNode   *next  ;
} LinkList;

void CreateList_L(LinkList  *&L,int n)      
{
    LinkList *s,*r;int i;
    L=(LinkList *)malloc(sizeof(LinkList));      /*创建头结点*/
    L->next=NULL;
    r=L;                    
    for (i=0;i<n;i++)
    {   
        s=(LinkList *)malloc(sizeof(LinkList));/*创建新结点*/
        printf("please input the %dth value of data:\n",i+1);
        scanf("%d",&s->data);
        r->next=s;           
        r=s;
    }
    r->next=NULL;            
}  //CreateList_L


void DispList_L(LinkList *L)
{
    LinkList *p=L->next;
    while (p!=NULL)
    {    printf("%d ",p->data);
        p=p->next;
    }
    printf("\n");
}  //DispList_L

void main()
{
        LinkList *L;
        CreateList_L(L,5);
        DispList_L(L);
        getchar();
        getchar();
}

会正确的输出::

图片附件: 游客没有浏览图片的权限,请 登录注册


但是当我把
typedef  int  ElemType;      改为      typedef  char  ElemType;
scanf("%d",&s->data);        改为       scanf("%c",&s->data);  
 printf("%d ",p->data);      改为       printf("%c ",p->data);  
结果却输出::
图片附件: 游客没有浏览图片的权限,请 登录注册
   

这是为什么呢??     求解释。。。。。。。。。。。。。
2011-07-27 10:16
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
收藏
得分:0 
回复 4楼 诸葛修勤
蜘蛛侠好功底啊!!   兄台可以再讲的明白一点吗??  scanf()函数为什么会是这样呢??加个getchar()是什么意思呢??为什么这样就可以了么??  小弟不才,求解释啊。。。。
2011-07-27 15:34
快速回复:链表的创建问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019518 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved