weixin_45800485
Wang Le
采纳率100%
2020-07-08 15:43 阅读 84

char字符与指针存放内存冲突怎么解决?

1.代码问题出现在链表连接上
2.代码:
pNode CreateList(void)
{
pNode p = NULL;
pNode rear=NULL;
char flag = 'y';


do
{

    p = (pNode)malloc(sizeof(ListNode));

    if (head == NULL)
    {
        head = p;
    }

    if(rear!=NULL)
    {
        rear ->next= p;
    }


    printf("\n添加的编号:\n");
    scanf("%d", &p->data.num);


    p->next = NULL;
    rear = p;
    printf("继续建表?(y/n):");
    scanf("%s", &flag);
} while (flag == 'y');
p->next = NULL;
rear = NULL;       /*终端结点指针置空*/
p = NULL;
return head;            /*返回链表头指针*/

}
3.问题描述:
利用指针存放地址相同制作链表图片说明

到第二部都没有问题图片说明

但是一输入判读字符flag后rear指针存放地址就变了
图片说明

强制更改就会这样图片说明

求大佬帮忙解决,重启过电脑了。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐