Ney0704 2021-05-26 22:06 采纳率: 50%
浏览 138
已采纳

有大佬可以帮忙看看这里为什么报错p 是 0xDDDDDDDD吗?

报错提示:

源代码:

#include<stdio.h>
#include<stdlib.h>

typedef struct Node
{
	int v;
	struct Node* Pre;
	struct Node* pNext;
	int len;

}Node , *PNode;

PNode Create_List(int);
void Print_List(PNode );
void Delete_elenum(PNode , PNode , PNode );
void Init_List(PNode);
int length_list(PNode L);

int main(void)
{
	int a, b, c;
	PNode A = (PNode)malloc(sizeof(Node));
	//Init_List(A);
	PNode B = (PNode)malloc(sizeof(Node));
	//Init_List(B);
	PNode C = (PNode)malloc(sizeof(Node));
	//Init_List(C);
	scanf("%d%d%d", &a , &b , &c);
	A = Create_List(a);
	B = Create_List(b);
	C = Create_List(c);
	Delete_elenum(A, B, C);
	Print_List(A);


	return 0;
}

void Init_List(PNode L)
{
	L->v = 0;
	L->pNext = NULL;
	L->Pre = NULL;
	L->len = 0;
}

int length_list(PNode L)
{
	PNode p = L->pNext;
	int len = 0;
	while (NULL != p)
	{
		len++;
		p = p->pNext;
	}
	return len;
}

PNode Create_List(int len)
{
	int v;
	PNode pHead = (PNode)malloc(sizeof(Node));
	pHead->len = len;
	pHead->Pre = NULL;
	PNode Head = pHead;
	PNode Tail = pHead;
	for (int i = 0; i < len; i++)
	{
		PNode pNew = (PNode)malloc(sizeof(Node));
		scanf("%d", &v);
		pNew->v = v;
		Tail->pNext = pNew;
		pNew->pNext = NULL;
		Tail = pNew;
		pNew->Pre = Head;
		Head = pNew;
	}
	return pHead;
}

void Print_List(PNode L)
{
	PNode p = L->pNext;
	while (NULL != p)
	{
		printf("%d ", p->v);
		p = p->pNext;
	}
}

void Delete_elenum(PNode A, PNode B, PNode C)
{
	int a, b, c;
	a = length_list(A);
	b = length_list(B);
	c = length_list(C);
	PNode p = A->pNext;

	for (int i = 0; i < a; i++ )
	{
		PNode q = B->pNext;
		PNode r = C->pNext;
		PNode temp = NULL;
		while(NULL != q)
		{
			if (p->v == q->v)
				break;
			if (NULL == q->pNext)
				break;
			q = q->pNext;
		}
		while(NULL != r)
		{
			if (p->v == r->v)
				break;
			if (NULL == r->pNext)
				break;
			r = r->pNext;
		}
		if (q->v == r->v)
		{
			temp = p;
			PNode s = NULL;
			s = p->Pre;
			s->pNext = p->pNext;
			free(temp);
		}
		if (NULL == p->pNext)
			break;
		p = p->pNext;
	}

}
  • 写回答

1条回答 默认 最新

  • 樱花の雨 2021-05-27 15:39
    关注

    Create_List()函数写的有问题,无法创建列表,你检查下获取的A的值就知道了,是空的!望采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办