我正在制作一个二进制搜索树程序,并且想遍历要选择其左或右子级来插入元素的节点。而在while条件下,我收到警告比较整数指针。帮我

 while(temp1->data != NULL)
   {
       temp2=temp1;
       if(value<=temp1->data)
       {
           temp1=temp1->lchild;
       }
       else
       {
           temp1=temp1->rchild;
       }
   }

最佳答案

您的while循环测试是错误的。它应该测试是否有指向节点的空指针,如下所示:

while(temp1 != NULL)  // <-- this line was wrong
{
    temp2=temp1;
    if(value<=temp1->data)
    {
        temp1=temp1->lchild;
    }
    else
    {
        temp1=temp1->rchild;
    }
}

关于c - 将指针与整数进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39416880/

10-09 18:41