| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1074 人关注过本帖
标题:为什么有段语句编译器不能通过?
只看楼主 加入收藏
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
在这一段中:
   else
        {
            pc = pa;
     printf("%d\n",pc->data);
            pc = pc->next;
        //    printf("%d\n",pc->data);
            pa = pa->next;
            pb = pb->next;
        }
    }
我发现pa的值是有赋值给pc的,所以我认为应该pc有将pa与pb的交集复制过来,但为什么不能打印pc呢??出了那些错误???
2008-10-01 23:20
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
2008-10-02 10:52
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
这一段出了问题:
while (pa && pb)
    {
        if (pa->data != pb->data)
        {
            pa = pa->next;
            pb = pb->next;
        }
        else
        {
            pc = pa;
//        printf("%d\n",pc->data);
            pc = pc->next;
        //    printf("%d\n",pc->data);
            pa = pa->next;
            pb = pb->next;
        }
    }?????????????????????
2008-10-02 11:56
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
各位编程爱好者,我本人无意中发现解决方法;下面的修改后的程序:
/*      2.26   */

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

#define LIST_INIT_SIZE 100
#define NULL 0

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

LinkList creat(LinkList head)
{
    LinkList l, q, p;
    int ch;

    l = (LinkList)malloc(sizeof(LinkList));         
    l->data = 0;                             
    l->next = NULL;                     

    q = l;   
    p = l;

    printf("Input the Incremental s:\n");
    scanf("%d",&ch);    //printf("%d\n",ch);

    while (ch != 0)                              
    {
        p = (LinkList)malloc(sizeof(LinkList));            
        p->data = ch;
        p->next = NULL;                    
        q->next = p;                    
        q = p;                       
        scanf("%d",&ch);
        //printf("%d\n",ch);
    
    }
    q = l;
    return q;//It is OK!
}   

LinkList Mergelist(LinkList A,LinkList B)
{
    LinkList pa, pb, pc;

    LinkList l, s;


    l = (LinkList)malloc(sizeof(LinkList));         
         l->data = 0;                             
         l->next = NULL;   
    pa = A->next;
    pb = B->next;

    pc = l;

    while (pa && pb)
    {
        if (pa->data != pb->data)
        {
            pa = pa->next;
            pb = pb->next;
        }
        else
        {
            s = (LinkList)malloc(sizeof(LinkList));
            s->data = pa->data;
            pc->next = s;
            pc = s;
            pa = pa->next;
            pb = pb->next;
        }
    }

    pc = l;
    return pc;
}//    Mergelist



void Print(LinkList p)
{

    if (p != NULL)
    {
        do {
            printf(" %d",p->data);
            p = p->next;
        }
        while (p != NULL);
    }
    else
        printf("Wrong!\n");

    printf("\n\n");

    free(p);
}

int main()
{
    LinkList a, b, c;
    LinkList l;

    l = (LinkList)malloc(sizeof(LinkList));         
         l->data = 0;                          
         l->next = NULL;
    a = l;
    b = l;
    c = l;
    a = creat(a);
    b = creat(b);
         c = Mergelist(a, b);
    printf("Output the Descending series:\n");
    c = c->next;
    Print(c);
    return 0;
}
2008-10-02 12:40
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
只是增加一个变量与一些内容:
 s = (LinkList)malloc(sizeof(LinkList));
            s->data = pa->data;
            pc->next = s;
            pc = s;
2008-10-02 12:41
hcanhong
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-9-6
收藏
得分:0 
谢谢各位的帮助~~
2008-10-02 12:42
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
集合问题,最好是不要使用链表= =

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-02 14:57
快速回复:为什么有段语句编译器不能通过?
数据加载中...
 
   



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

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