我的功能searchlist要求用戶輸入一個學生證,並列出了學生的ID和姓名。 這裏是我的結構:Ç - 過客「的strcmp」的參數1時將整數指針不進行強制轉換
struct student {
int ID;
char name[40];
struct student *next;
};
typedef struct student Student;
這裏是我的功能:
void searchlist(Student *SLIST){
Student *currentstudent = SLIST;
char str[10], str2[10];
printf("Enter a student ID: ");
while(currentstudent != NULL){
scanf("%d", &str);
if(strcmp(str, (char)currentstudent->ID) == 0){
printf("ID#: %d Name: %s", currentstudent->ID, currentstudent->name);
}
}
}
然而,當我嘗試編譯,它給了我一個警告:傳遞「的strcmp」的參數1,使指針從整數無鑄造
請忽略str2的[10]。忘了把那部分拿出來。 –
你想比較什麼?因爲它看起來像你試圖比較字符串(char [])與char的值,而不是另一個字符串... – AntonH