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的值就知道了,是空的!望采纳!

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

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统