我试图制作一个简单的程序,我将测验问题插入到链表中。
代码崩溃在:novo->nodo=info;
void InserirFim(ELEMENTO **iniLista, ELEMENTO **fimLista, INFO info){
ELEMENTO *novo=NULL;
novo=(ELEMENTO *)calloc(1,sizeof(ELEMENTO));
if(novo=NULL){
printf("ERROR ao reservar a memoria \n");
return;
}
novo->nodo=info;
novo->anterior=NULL;
novo->seguinte=NULL;
if(*iniLista==NULL){
*iniLista=novo;
*fimLista=novo;
}
else{
novo->anterior=*fimLista;
(*fimLista)->seguinte=novo;
*fimLista=novo;
}
return;
}
节点携带的所有变量都不为空。
我很抱歉代码是葡萄牙语,但novo代表新的,前面代表前一个,seguinte代表下一个代码。
答案 0 :(得分:4)
这似乎只是一个小错误:
if(novo=NULL){
应该是:
if(novo==NULL){