| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:创建单循环链表,出错了……
只看楼主 加入收藏
thlgood
Rank: 5Rank: 5
等 级:职业侠客
帖 子:281
专家分:381
注 册:2010-9-24
结帖率:91.43%
收藏
已结贴  问题点数:20 回复次数:2 
创建单循环链表,出错了……
====================================程序描述====================================
我创建了一个单向循环链表。我之前创建链表都是带头节点的。
突然来创建了一个不带头结点的单向链表

问题:能编译,编译完了执行之后,输入第三个字符串,敲下回车键。问题来了!
所以我想求助:怎么该对?
指针一复杂,我常常会把他们弄乱……

====================================源代码=====================================
程序代码:
#include <stdio.h>
#include <string.h>
#define _memory (list *)malloc(sizeof(list))

typedef struct list list;
struct list
{
    char str[20];
    struct list *next;
};

void creat_list(list *p);
void show(list *p);

int main()
{
    list *head, *head_temp = head;

    creat_list(head);         //创建循环链表

    show(head_temp);          //输出循环链表
    return 0;
}

void creat_list(list *p)
{
    list *h, *head = p;
    char temp[20];

    p = _memory;
    printf("Please input a string:");
    scanf("%s", p->str);
    p->next = NULL;

    printf("Please input a string:");
    scanf("%s", temp);

    /**********问题主要是在这一块**********/
    while (temp[0] != '@')
    {
        h = _memory;
        strcpy(p->str, temp);

        p->next = h;
        p = h->next;

        printf("Please input a string:");
        scanf("%s", temp);
    }
    /**********问题主要是在这一块**********/

    h->next = head;
}

void show(list *p)
{
    list *temp = p;
    printf("%s\n", temp->str);
    temp = temp->next;

    while(temp != p)
    {
        printf("%s\n", temp->str);
        temp = temp->next;
    }
}






===============================谢谢各位===================================
搜索更多相关主题的帖子: 源代码 单循环 字符串 
2011-05-24 23:01
夏五星
Rank: 2
等 级:论坛游民
帖 子:7
专家分:17
注 册:2011-5-20
收藏
得分:10 
/**********问题主要是在这一块**********/
    while (temp[0] != '@')
    {
        h = _memory;
        strcpy(h->str, temp);

        p->next = h;
        p = h;

        printf("Please input a string:");
        scanf("%s", temp);
    }
    /**********问题主要是在这一块**********/

试试
2011-05-24 23:26
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
链表不是很复杂  要弄清楚
链表类_C语言.rar (1.71 KB)

                                         
===========深入<----------------->浅出============
2011-05-25 17:14
快速回复:创建单循环链表,出错了……
数据加载中...
 
   



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

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