2015-04-05 102 views
-3

我不斷收到這個錯誤,當我嘗試在名字和姓氏來設置的第一個字符爲空,並返回到一個1不兼容的類型賦值爲null

我的代碼是...

int DeregisterStudent(int SID, struct studentdata SRecord[]) 

{ 

     int index; 

     index = SRecordSearch(SID, MAXRECS, SRecord); 
     if(index >= 0) 
     { 
       SRecord[index].sid = 0; 
       SRecord[index].lastname = '\0'; 
       SRecord[index].firstname = '\0'; 
       return 1; 
     } 
     return 0; 
} 

,我得到的錯誤是錯誤:不兼容的類型賦值爲 這兩條線

SRecord[index].lastname = '\0'; 
SRecord[index].firstname = '\0'; 

回答

0

您沒有正確寫入字符串,它應該是

SRecord[index].lastname[0] = '\0'; 

SRecord[index].lastname = ""; 

取決於struct如何申報。在第二種情況下,您可能會覆蓋動態分配的字符串指針,在這種情況下,它應該是free() ed。

+0

非常感謝!這工作。 – 2015-04-05 16:49:51