给链表排顺序,我这个哪里错了?
MailNode *correctorder (MailNode *List,MailNode *temporder){
MailNode *temp=NULL;
MailNode *tempnext=NULL;
if (temporder==NULL){
temp=List;
tempnext=temp->next;
}
else{
temp=temporder;
tempnext=temp->next;
}
while(temp->year<tempnext->year){
tempnext=tempnext->next;
}
temp=tempnext;
return temp;
case 'o': case 'O':
while (i<num){
if (temp==NULL){ //head
temp=correctorder(List,temporder);
temporder=temp;
}
else{
temporder=correctorder(List,temporder);
temporder=temporder->next;
}
i++;
}
free(List);
List=temp;
break;
老是说segmentation fault.看gdb说我temp->year<tempnext->year错了。这怎么错了?倒是用step一步一步看,发现好像main function里,temp一直为NULL,就像没有return值给他一样,为什么啊?
[ 本帖最后由 神的弃物 于 2009-10-12 19:56 编辑 ]