标题:逐个添加结点的链表输出时忽然停止,求大佬指点
取消只看楼主
sherlocked13
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-4-5
结帖率:0
已结贴  问题点数:20 回复次数:2 
逐个添加结点的链表输出时忽然停止,求大佬指点
自定义了创建函数,add函数和输出函数,创建链表要求结点逐个添加,调用add,用y和n判断是否继续添加,如果录入Y,则开始或继续添加,录入数据之后,回车,n结束录入
主函数部分可确保没有问题
选择输出后,程序停止
请求大佬指教
参数:struct line *head是需要操作的链表

typedef struct line {
    char data;
    struct line *next;
} Node;

struct line *creat(struct line *head)          //创建
{

   struct line *tail;
   while(1)
   {
       char ch;
       printf("添加新的节点?(Y/N)\n");
       fflush(stdin);
       scanf ("%c",&ch);
       if ((ch=='Y')||(ch=='y'))
       {
           add(head);
       }
       else if ((ch=='N')||(ch=='n'))
        break;
       else break;
   }

}

struct line *add(struct line *head)          //接受单个字符
{
    struct line *p = NULL;
    struct line *pr = head;
    char data;
    p = (struct line *) malloc(sizeof(struct line));
    if (p == NULL) {
        printf("申请内存失败!\n");
        exit(0);
    }
    if (head == NULL) {
        head = p;
    } else {
        while (pr->next != NULL) {
            pr = pr->next;
        }
        pr->next = p;
    }
    pr = p;
    printf("输入数据:");
    scanf(" %c", &data);
    pr->data = data;
    pr->next = NULL;
    return head;
}


out(struct line *head)          //输出
{
    struct line *p = head->next;
    int i;
    p=head->next;
    if(p=NULL)
        printf("空链表!\n");
        while (p!=NULL) {
            printf("%c ", p->data);
            p= p->next;
        }
    printf("\n");

}
搜索更多相关主题的帖子: next NULL struct line head 
2020-04-05 19:32
sherlocked13
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-4-5
得分:0 
回复 2楼 forever74
是输出函数里面的那个吗?
    if(head==NULL)
        printf("空链表!\n");
改了程序还是停止了
2020-04-05 20:14
sherlocked13
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-4-5
得分:0 
   g改成了 if(p==NULL)
        printf("空链表!\n");楼上写错了
2020-04-05 20:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500878-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.097031 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved