| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 727 人关注过本帖
标题:关于串的链接问题
只看楼主 加入收藏
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
能否贴上你完整的程序?这样容易调试。
2014-04-26 09:16
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
是你其他的模块错了,这个函数绝对没问题。
程序代码:
/*
串链表的链接
*/
#include <stdio.h>
#include <stdlib.h>
#define  LEN  sizeof(STRNODE)

struct strnode
{  char c;
   struct  strnode *next;
};

typedef  struct strnode STRNODE;
STRNODE *create(void)    
{
    char c;
    STRNODE *head,*p1, //p1总是指向新结点
                  *p2; //p2总是指向新表尾    


 head=p2=(STRNODE *)malloc(LEN ); //指向头结点
 head->next=NULL; 


 while ((c=getchar())!='\n')
{
     p1=(STRNODE *)malloc(LEN );
     p1->c=c;
     p2->next=p1;
     p2=p1; 
}

 p2->next=NULL; 

 return head;
}

void print(STRNODE *head)
{
    STRNODE *p;
    p=head->next;      //p从表头开始遍历链表

    while(p!=NULL)
    {
        putchar(p->c);
        p=p->next;    //前进指针,让p指向下一个结点
    }
   printf("\n");
}

STRNODE *str_con(STRNODE *s1,STRNODE *s2)  
{
    STRNODE *p,*q,*s;

    p=s1->next;
    q=s2->next;
   
    do{
        p=p->next;
    }while(p->next!=NULL);

    do{
    s=(STRNODE *)malloc(sizeof(STRNODE));
     s->c=q->c;
     p->next=s;
     p=s;
     q=q->next;
    }while(q!=NULL);
    p->next=NULL; 
    return s1;      
}


int main()
{
    STRNODE *s1,*s2;

    s1=create(); 
    s2=create();
    s1=str_con(s1,s2);
    print(s1);   

    return 0;
}
2014-04-26 09:58
鸥翔鱼游
Rank: 5Rank: 5
等 级:职业侠客
帖 子:182
专家分:323
注 册:2014-4-19
收藏
得分:5 
学习学习~~~偷师本学徒来偷偷~~~
2014-04-26 14:10
快速回复:关于串的链接问题
数据加载中...
 
   



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

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