【发布时间】:2017-03-29 15:08:30
【问题描述】:
我的函数搜索列表要求用户输入学生 ID 并列出该学生 ID 和姓名。 这是我的结构:
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 进行比较,而不是另一个字符串 ...
标签: c linked-list strcmp