0
我正在为一个类的这个小项目工作,我遇到了这个问题。 我在这个例子中运行了ddd,当它退出while循环时prev被设置为null,导致了Segmentation Fault。指针没有被分配
当我运行DDD时,我注意到temp不是空,并且两个“prev is nulln”打印语句不会被触发,而是循环外的那个。
你知道会发生什么吗?
while(temp)
{
printf("while loop.\n");
if(pe->y > temp->y)
{
printf("while - if reached.\n");
break;
}//end if statement
prev = temp;
if(prev == NULL)
printf("prev is null1\n");
temp = temp->next;
if(prev == NULL)
printf("prev is null2\n");
}//end while loop
if(prev == NULL)
printf("prev is null3\n");
prev->next = pe;//redit links so that node is added in.
pe->next = temp;
只发布一部分功能在诊断问题时无用。请发布[mcve]。 –