您好我試試這個於2010年VS運行這段代碼,我也得到崩潰的告訴我說:用C雙向鏈表崩潰
這可能是由於堆的腐敗,這表明在TEST_5的錯誤.exe或任何已加載的DLL。
這也可能是由於用戶在TEST_5.exe有焦點時按下F12。
輸出窗口可能有更多診斷信息。 程序'[4620] TEST_5.exe:Native'已退出,代碼爲0(0x0)。
和我在borland c編譯器上有同樣的崩潰,但在開發cpp的工作。 所以這是我的代碼請幫助
#include <stdio.h>
#include <stdlib.h>
struct node{
int ID;
int active;
int loop_time;
float c;
int a;
struct node *prev,*next;
};
struct node *new_node(struct node *p)
{
struct node *temp,*prev;
if(p==NULL)
{
p=(struct node*)malloc(sizeof(struct node*));
p->prev=NULL;
p->next=NULL;
return p;
}
if(p!=NULL)
{
temp=p;
while(temp!=NULL)
{
prev=temp;
temp=temp->next;
}
temp=(struct node*)malloc(sizeof(struct node*));
temp->prev=prev;
temp->next=NULL;
prev->next=temp;
return temp;
}
return 0;
}
void main()
{
struct node *force1=NULL;
//=============================
force1=new_node(force1);
force1->ID=11;
force1->active=11;
force1->loop_time=0;
//==============================
force1=new_node(force1);
force1->ID=11;
force1->active=11;
force1->loop_time=0;
//==============================
printf("END\n");
system("pause");
}
它在哪裏崩潰?調試時發現了什麼? – Kunal