| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 952 人关注过本帖
标题:这个链表创建程序哪里出错了
只看楼主 加入收藏
i多子妹师南
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:12
专家分:4
注 册:2016-11-13
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:2 
这个链表创建程序哪里出错了
#include<stdio.h>
#include<malloc.h>
typedef char data;/*方便修改链表的数据类型*/
/*链表的类型:链表的类型是链表一个单元的类型*/
typedef struct link
{
    data i;/*链表数据类型是data,即cahr*/
    struct link *p;/*定义一个结构体类型的指针,因为链表指针域中存放的指针地址
                   存放的内容是一个结构体*/
}linklist;/*linklist不是变量名,而是类型名*/

void creatlink(linklist *head)
{
    data m;
    int i=1;
    linklist *h,*temp;
    temp=head;
    do{
        printf("请输入第%d结点的数据:\n",i);
          h=(linklist *)malloc(sizeof(linklist));
        temp->p=h;
        
        scanf("%c",&m);
        h->i=m;
        i++;
        temp=h;
    }while(m!='a');
    temp->p=NULL;

    printf("您已输入完毕\n");
}
int main()
{
    linklist *head;
    head=(linklist *)malloc(sizeof(linklist));
    creatlink(head);

    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册
   
搜索更多相关主题的帖子: 结构体 include 
2016-11-13 19:20
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:20 
程序代码:
void creatlink(linklist *head)
{
    data m;
    int i=1;
    linklist *h,*temp;
    temp=head;
    do{
        printf("请输入第%d结点的数据:\n",i);
        h=(linklist *)malloc(sizeof(linklist));
        temp->p=h;

        scanf("%c",&m);
        fflush(stdin); //
        h->i=m;
        i++;
        temp=h;
    }while(m!='a');
    temp->p=NULL;

    printf("您已输入完毕\n");
}

~~~~~~我的明天我知道~~~。
2016-11-13 19:59
i多子妹师南
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:12
专家分:4
注 册:2016-11-13
收藏
得分:0 
回复 2楼 xufan
其实我后来自己也试着加清除缓冲区的语句,也解决问题了。就是不知道为什么加和不加有这样的区别。
2016-11-13 20:59
快速回复:这个链表创建程序哪里出错了
数据加载中...
 
   



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

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