鱼C论坛

 找回密码
 立即注册
查看: 1427|回复: 0

链表求助

[复制链接]
发表于 2019-7-17 19:32:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bin554385863 于 2019-7-17 19:42 编辑
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. /*链表结构体 */
  4. typedef struct Node
  5. {
  6.     int value;
  7.     struct Node *next;
  8. } node;

  9. node *creatlinklist(node *arg)
  10. {
  11.     node *p1, *p2;
  12.     p1 = p2 = (node *)malloc(sizeof(node));

  13.     if (p2 == NULL)//[u][i][color=Magenta]这里应该是!=抄错了[/color][/i][/u]
  14.     {
  15.         /*输入节点的值 */
  16.         scanf("%d ", &p2->value);
  17.         /*新节点指针成员赋值为空 */
  18.         p2->next = NULL;
  19.     }

  20.     /*以-1作为结束标志 */
  21.     while (p2->value != -1)
  22.     {
  23.         /*若为空表,接入表头 */
  24.         if (arg == NULL)
  25.         {
  26.             arg = p2;
  27.         }
  28.         /*反之接入表尾 */
  29.         else
  30.         {
  31.             p1->next = p2;
  32.         }
  33.         p1 = p2;
  34.         p2 = (node *)malloc(sizeof(node));

  35.         if (p2 != NULL)
  36.         {
  37.             /*输入节点的值 */
  38.             scanf("%d", &p2->value);
  39.             p2->next = NULL;
  40.         }
  41.     }
  42.     return arg;
  43. }

  44. void printarg(node *arg)
  45. {
  46.     node *temp;
  47.     temp = arg;
  48.     while (temp != NULL)
  49.     {
  50.         printf("%d  ", temp->value);
  51.         temp = temp->next;
  52.     }
  53. }

  54. int main(int argc, char const *argv[])
  55. {
  56.     node *number = NULL;
  57.     number = creatlinklist(number);
  58.     printarg(number);

  59.     return 0;
  60. }
复制代码

-----------------------------------------------------------------------------------
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

E:\Administrator\Documents\My C>cmd /C "c:\Users\Administrator\.vscode\extensions\ms-vscode.cpptools-0.24.0\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-b122q2fj.rea --stdout=Microsoft-MIEngine-Out-25x3wrx1.pqm --stderr=Microsoft-MIEngine-Error-4ob1pzrn.ig5 --pid=Microsoft-MIEngine-Pid-vmxselmy.nn1 --dbgExe=E:\MinGW\bin\gdb.exe --interpreter=mi "
1 2 3 4 5 6 7 8 9 10 11 12 13 -1
-1163005939  1  2  3  4  5  6  7  8  9  10  11  12  13
E:\Administrator\Documents\My C>



这是我抄书本上的一段代码,不明白为什么会输出一个垃圾数值,弄了一下午也没搞明白哪里有问题?


问题找到了
第15行:
if (p2 == NULL)//这里应该是!=抄错了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-13 02:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表