关于遍历打印链表的有关问题,求高手找错在哪

关于遍历打印链表的问题,求高手找错在哪
本帖最后由 imei857 于 2012-12-08 21:48:06 编辑
最近想把链表操作的函数写一下,在写到遍历打印链表时出现了问题,请看到的高手帮帮找找毛病在哪,先谢谢了


typedef struct NODE {
struct NODE *next;
int value;
}Node;

//我定义root是链表的头指针,定义为全局变量,下面函数用p_root指向root
void print_linklist(Node **p_root){
Node *current_node;
        //memset(current_node, 0 , sizeof(Node));
if((*p_root)->next = NULL)//我链表为空时,总是不能走到这个条件里去,直接进else里去了
printf("队列为空\n");
else
{
current_node = (*p_root)->next;
while (current_node->next != NULL)
{
printf("%d\n", current_node->value);
current_node = current_node->next;//向下一个节点滑动
}
}
}




------解决方案--------------------
if((*p_root)->next = NULL)改为if((*p_root)->next == NULL)
------解决方案--------------------
注意是“==”而不是“=”。
------解决方案--------------------
(*p_root)->next = NULL,你看你这个条件写成=了,改成==吧