gpt4 book ai didi

c - 未打印链表的最后一个节点值

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:01 25 4
gpt4 key购买 nike

我正在尝试遍历链表并使用节点显示每个节点的值。我在这里使用 while 循环。但问题是链表的最后一个元素没有被打印。我不得不打印最后一个元素分开。

int print(){

printf("\ncurrent list is \n");
struct Node* showList;

showList=head;
while(showList->next !=NULL){

printf("%d ",showList->data);
showList=showList->next;
}
printf("%d",showList->data); // it prints the last element
printf("\n");
}

最佳答案

您可以将条件更改为:

while(showList != NULL)

那么您的while 将不会跳过最后一个节点。它正在跳过当前状态中的最后一个节点,因为很明显,当您位于最后一个节点时,showList->next == NULL 并且即使该节点包含一个值,循环也不会执行。

编辑:确保你在更改后删除了这一行,否则你会遇到问题:

printf("%d",showList->data); // it prints the last element

或者,您可以使用 for 循环:

for(showList = head; showList != NULL; showList = showList->next)
printf("%d ",showList->data);

关于c - 未打印链表的最后一个节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35816395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com