鱼C论坛

 找回密码
 立即注册
查看: 1170|回复: 2

[已解决]为啥我的单链表查询不行啊,也不报错,只能求助大佬

[复制链接]
发表于 2021-10-9 18:18:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

struct hai
{
    int i;
    struct hai *next;
};

void tm(struct hai **head,int num)// 新结点生成
{
    struct hai *now,*team;
    now = *head;
    now = (struct hai *)malloc(sizeof(struct hai));
    if (now == NULL)
    {
        printf("内存分配失败");
        exit(1);
    }

    now->i = num;

    if(*head != NULL)
    {
        team = *head;
        while (team->next !=NULL)
        {
            team = team->next;
        }
        team->next = now;
        now->next = NULL;
    }

    else
    {
        *head = now;
        now->next = NULL;
    }

}


void nomprint(struct hai *head)// 打印程序块
{
    struct hai *a;
    a = head;
    while (a != NULL)
    {
        printf("%d  ", a->i);
        a = a->next;
    }

    printf("\n");
}

void releaslibrary(struct hai *head)// 释放
{
    while (head != NULL)
    {
        head = head->next;
        free(head);
    }
}

void cax(struct hai **head,int shu)// 查询链表某个数据
{
    int j = 0,su;
    struct hai *p;
    p = *head;
    su = shu;

    while (p != NULL || j>su)
    {
        p = p->next;
        ++j;
    }

    printf("第%d的数据为%d\n", j, p->i);

}

int main()
{
    struct hai *head = NULL;
    int num,shu;
    while(1)
    {
        printf("请输入数值(-1结束):\n");
        scanf("%d",&num);
        if(num == (-1)) break;

        tm(&head,num);
    }

    while(1)
    {
        printf("请输入要查询的数据(-1结束):\n");
        scanf("%d", &shu);
        cax(&head,shu);
        if (shu == (-1)); break;

    }

    nomprint(head);
    releaslibrary(head);
    return 0;
}
最佳答案
2021-10-10 10:26:57
while(p != NULL && (j <= su) ){    /* 需要同时满足,j初始值是0,根本j>u的话根本进不了循环 */

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-10 10:26:57 | 显示全部楼层    本楼为最佳答案   
while(p != NULL && (j <= su) ){    /* 需要同时满足,j初始值是0,根本j>u的话根本进不了循环 */

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-10 13:07:35 | 显示全部楼层
金店长 发表于 2021-10-10 10:26
while(p != NULL && (j u的话根本进不了循环 */

}

感谢大佬,终于解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 13:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表