小码过海 2023-10-23 11:31 采纳率: 85.7%
浏览 2
已结题

用单链表及c语言创建多项式

为什么这个代码无法运行?个人感觉应该没有死循环啊


#include <stdio.h>
#include <stdlib.h>
typedef struct pNode{
    int coef;           //x系数域
    int exp;            //指数域
    struct pNode* link;         指针域
}PNode;
typedef struct polynominal{
    PNode *head;
}Polynominal;
void Creat(Polynominal *h);
//void Output(Polynominal *h);
void Destroy(Polynominal *h);
int main()
{
    Polynominal *p;
    p=(Polynominal*)malloc(sizeof(Polynominal));
    if (!p) 
        exit(1);
    Creat(p);
   // Output(p);
    Destroy(p);
    return 0;
}
void Creat(Polynominal *h)
{
    int i,x,m;PNode *p,*q;
    h->head=(PNode*)malloc(sizeof(PNode));
    if (!h->head) 
        exit(1);
    h->head->exp=-1;
    h->head->link=h->head;
    printf("input the number of the node:");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
        p=(PNode*)malloc(sizeof(PNode));
        printf("input the coef and the exp:");
        do{
            scanf("%d%d",&p->coef,&p->exp);
        }while(p->exp<0);
        q=h->head;
        for(m=0;m<=i;m++)
        {
            if (q == q->link)   //当仅有头结点时
            {
                p->link = q;
                q->link = p;
            } 
            else 
            {
                if (p->exp > ((q->link)->exp)&&q->link!=h->head)    //当p>q->link且q不为最后一个节点时
                {
                    q = q->link;
                } 
                else 
                {
                    p->link = q->link;
                    q->link = p;
                    break;
                }
            }
        }
    }
}

void Destroy(Polynominal *h)
{
    PNode *p;
    while(h->head)
    {
        p=h->head->link;
        free(h->head);
        h->head=p;
    }
}
  • 写回答

3条回答 默认 最新

  • 小码过海 2023-10-23 17:56
    关注

    找到错了,第七行指针域没注释

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月23日

悬赏问题

  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题