-2

我有一个结构

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);
    }

我在这里做错了什么?

4

1 回答 1

2

您正在对BookInfo实例进行排序,因此您的temp变量应该是同一类型而不是 char:

int j,i;
BookInfo temp;
于 2013-05-06T09:04:07.150 回答