以下代码显示了这一点 格式'%s'期望类型' char *'的参数,但参数11的类型为' int' 格式'%s'期望类型为' char *'的参数,但参数12的类型为' int' 我没有看到变量类型中的任何错误。
typedef struct{
char country[20];
char town[20];
}location;
typedef struct{
int birthday_day;
int birthday_month;
int birthday_year;
} birthday;
typedef struct{
char university;
char department;
int year_of_graduation;
}education;
typedef struct{
int id;
char name[20];
char surname[20];
location place;
birthday birth;
education school;
int quantity_of_friends;
int quantity_of_likes;
int quantity_of_posts;
}user;
user usser[100];
int i;
for (i=0;i<100;i++){
fscanf(input,"%i %s %s %s %s %i %i %i %s %s %i %i %i %i ", &usser[i].id, usser[i].name,usser[i].surname, usser[i].place.country,usser[i].place.town, &usser[i].birth.birthday_day,&usser[i].birth.birthday_month, &usser[i].birth.birthday_year, usser[i].school.university, usser[i].school.department,&usser[i].school.year_of_graduation, &usser[i].quantity_of_friends,&usser[i].quantity_of_likes, &usser[i].quantity_of_posts);
}
答案 0 :(得分:1)
你只声明了字符变量
char university;
char department;
但你希望字符串能引起警告。
所以可能就像
char university[100];
char department[100];
答案 1 :(得分:0)
问题是这个
typedef struct{
char university;
char department;
int year_of_graduation;
}education;
university
和department
应该是char数组,而不仅仅是char。
答案 2 :(得分:0)
在教育结构中,university
和department
只有两个单个字符,您需要将它们定义为数组
char university[SIZE];
char department[SIZE];