我有一个结构
struct BookInfo
{
char title[50];
int numAuthors;
char authors[50][50];
int year;
int checkedout;
};
我可以按年分类,但我无法按照我的生活标题进行排序我的所有代码都按照文件中的顺序打印出名称,或者我得到“不兼容的分类类型”错误注释行
int j,i;
char temp;
for(i = 1; i < 14; i++)
{
j = i - 1;
while( j >= 0 && strcmp( library[j+1].title, library[j].title) < 0 )
{
temp = library[j + 1]; /*errors*/
library[j+1] = library[j];
library[j] = temp; /*errors*/
j--;
}
printf("n%s",library[j].title);
}
我在这里做错了什么?
答案 0 :(得分:2)
您正在排序BookInfo
个实例,因此您的temp
变量应该是相同类型而不是char:
int j,i;
BookInfo temp;