| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:[求助]运行完后是循环,错在哪里
取消只看楼主 加入收藏
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:1 
[求助]运行完后是循环,错在哪里
#include<stdio.h>
#include<stdlib.h>
typedef struct PNode
{float coef;
int exp;
struct PNode *next;
}linklist;
linklist *creat()
{linklist *head,*p,*q;
float oef;
int xp;
p=head=(linklist*)malloc(sizeof(linklist));
scanf("%f%d",&oef,&xp);
while(xp>=0)
{q=(linklist*)malloc(sizeof(linklist));
q->coef=oef;q->exp=xp;
p->next=q;
p=q;
scanf("%f%d",&oef,&xp);
}
p->next=NULL;
return(head);
}
linklist *plus(linklist *a,linklist *b)
{int i;
linklist *p,*q,*c;
linklist *m,*n;
m=c=(linklist *)malloc(sizeof(linklist));
p=a->next;
q=b->next;
while(p&&q)
{n=(linklist*)malloc(sizeof(linklist));
if(p->exp==q->exp)
if(p->exp+q->exp!=0) {n->coef=p->coef+q->coef;n->exp=p->exp;p=p->next;q=q->next;}
else {p=p->next;q=q->next;}
else if(p->exp<q->exp) {n->coef=p->coef;n->exp=p->exp;p=p->next;}
else {n->coef=q->coef;n->exp=q->exp;q=q->next;}
m->next=n;
m=n;
}
while(p)
{n=(linklist *)malloc(sizeof(linklist));
n->coef=p->coef;n->exp=p->exp;
p=p->next;
m->next=n;
m=n;
}
while(q)
{n=(linklist *)malloc(sizeof(linklist));
n->coef=q->coef;n->exp=q->exp;
q=q->next;
m->next=n;
m=n;
}
m->next=NULL;
return(c);
}
main()
{linklist *a,*b,*c,*p,*q;
a=creat();
b=creat();
c=plus(a,b);
p=c->next;
while(p)
{if(p->coef>0) printf("+");
printf("%fe%d",p->coef,p->exp);
}
printf("\n");
}
运行完后是死循环,请帮忙检查一下错误
搜索更多相关主题的帖子: 运行 
2007-06-01 10:59
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
得分:0 
回复:(Javal)设个断点调试一下就知道哪里出问题了

应该在哪里设置断点,不太清楚会是哪 些地方错了


2007-06-01 13:52
快速回复:[求助]运行完后是循环,错在哪里
数据加载中...
 
   



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

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