判断!=NULL的时候会报错说这个地址是nullptr

毕设项目助手 其他问答 1

做查重删除时,要求b->next!=NULL时跳出循环,之前在写别的程序时这么写没问题,而且此时b->next也是等于NULL了,但是系统确保错了

回复

共2条回复 我来回复
  • 毕设助手
    这个人很懒,什么都没有留下~
    评论

    你的内层while循环条件跟if的条件完全一致,if语句基本不会执行的,因为内层while循环结束的条件,要么是b->next ==NULL了,要么是b->next->data == a->data,所以,内层while循环结束后,这两个至少有一个是成立的,那么if就永远不会成立了,你这个if永远不会执行的,你仔细检查一下逻辑吧。

    0条评论
  • 毕设驿站
    这个人很懒,什么都没有留下~
    评论

    用b->next->data的前提必须是b->next !=NULL,所以你的内层while循环和if条件中,都必须先判断 b->next != NULL.

    0条评论

发表回复

登录后才能评论