2014-09-22 33 views
-2

使用此功能時,我嘗試做加(myList中)輸入功能分爲鏈表

void add(struct employeeData *List) 
{ 

    struct employeeData *Temp = NULL; 
    struct employeeData *Head = NULL; 

    Head = List; 
    Temp = List; 

    while (List != NULL) 
    { 
     List = List->next; 

     if (List != NULL) 
     { 
      Temp = List; 
     } 

     else 
     { 
      break; 
     } 

    } 

    List = (struct employeeData*)malloc(sizeof(struct employeeData)); 

    printf("Please enter the information of the employee"); 
    scanf(" %d %s %d %d %d ", &List->EMP_ID, List->name, &List->dept, &List->rank, &List->salary); 

    Temp->next = List; 
    List = Head; 

} 

我把當它要求它在我的信息後有問題的程序只是坐在那裏,直到我將其關閉或它崩潰。

+0

請出示employeeData'的'的聲明。 – dasblinkenlight 2014-09-22 21:08:48

+4

需要添加大量代碼才能使任何人都能夠複製此問題。 – 2014-09-22 21:10:02

+0

至少,add()函數的其餘部分可能會有用。還是應該在'List = Head;'之後有一個右括號? – 2014-09-22 21:19:53

回答

0

如果傳遞一個空指針到您add()功能則 該行的行爲是不確定的,因爲Temp設置爲空指針:

Temp->next = List;