n(C8H16O2) 2021-01-13 21:51 采纳率: 0%
浏览 12

为什么查找失败时无法输出fail?

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

typedef struct linklist
{
    int data;
    struct linklist* next;
}linknode,* linkpointer;
//链表建立
linkpointer createlist()
{
    int x;
    linkpointer head,tail,p;
    head=tail=NULL;
    scanf("%d",&x);
    while(x!=0)
    {
        p=(linkpointer)malloc(sizeof(linknode));
        p->data=x;
        if(head==NULL)
        {
            head=tail=p;
        }
        else
        {
            tail->next=p;
            tail=p;
        }
        scanf("%d",&x);
    }
    if(tail!=NULL)
        {
            tail->next=NULL;
        }
    return head;
}
//查找结点
void searchlist(linkpointer head)
{
    int x;
    linkpointer p;
    p=head;
    printf("Please input the data you want to search:");
    scanf("%d",&x);
    while(p->data!=x && p!=NULL)
    {
        p=p->next;
    }
    if(p==NULL)
    {
        printf("Fail");
    }
    else
    {
        printf("%d is in the list.",x);
    }
}
int main()
{
    linkpointer head;
    printf("Please input the data of the list:\n");
    head =createlist();
    searchlist(head);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • n(C8H16O2) 2021-04-19 16:24
    关注

    注意searchlist方法的while语句的逻辑,当p为NULL时,访问p->data

    评论

报告相同问题?

悬赏问题

  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 用大厂网站防红自己网站
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?