1094570635 发表于 2022-10-28 15:34:56

按值查找返回地址出错的问题

代码Node* LocateElem2(LinkList L, ElemType e)
{
        LinkList p = L->next;
        while (p && p->data!=e)
        {
                p = p->next;
        }
        return p;

        /*while (p)
        {
                if (p->data != e)
                {
                        p = p->next;
                }

        }
        return p;*/


}
拆分条件,当我在while循环里面加if判断运行的时候,用指针p接收函数直接就显示不出来了。

dolly_yos2 发表于 2022-10-28 15:40:48

注释掉的写法里,考虑p != NULL && p->data == e的情况,会发生什么?

jackz007 发表于 2022-10-28 16:05:37

while (p)
      {
                if (p->data != e)
                {
                        p = p->next;
                }
                else
                {
                        break ;
                }
      }
      return p;
}
      拆分条件是可以的,可是,也得在找到目标的时候适时地从循环中退出啊。
页: [1]
查看完整版本: 按值查找返回地址出错的问题