新手学习c语言,遇到一个百思不得其解的问题。求教

NyamukKamar-avatar

NyamukKamar

2021-09-19T09:51:22+00:00

数据结构
[img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-2ujsK6ToS7b-2u.png.medium.jpg[/img]

然后我用下边这个函数来创造一个单链表,输入每个节点的数值,当输入9999的时候结束。
[img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-gut6KzT3cSjl-c8.png.medium.jpg[/img]

程序正常运行,但是不理解的是,当我输入9999后程序并没有直接运行下一步,还要求继续输入,再随便输入一个值才能运行[img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-5pqkKiT3cSxz-hr.png.medium.jpg[/img]
这是为什么呢??
并且最后输入的那个数字并没有接到单链表上,我用这个函数来显示单链表最后节点的值:
[img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-gw1hKjT3cSht-7k.png.medium.jpg[/img]

单链表尾节点的值确实是9999前一个数。所以他为啥在9999之后还让我输入一个数啊…… [img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-1m84KqT3cSxz-hr.png.medium.jpg[/img]
NyamukKamar-avatar

NyamukKamar

主函数是
[img]https://img.nga.178.com/attachments/mon_202109/25/-7Q178-k0kyK7T1kSa0-3y.png.medium.jpg[/img]
NyamukKamar-avatar

NyamukKamar

如果我直接输入9999的话,程序还是会让我继续输入。但是creatlist这个函数,输入9999应该不进入循环。这是为什么……