结构体
typedef struct Book
{
char SM[30];//书名
char ZZ[20];//作者
char CBS[40];//出版社
char CBRQ[20];//出版日期
char ZS[10];//字数
char JG[10];//价格
char SL[10];//数量
struct Book *next;
}Book,*book;
int i,j;
i=j=1;
book p,q;
p = (book)malloc(sizeof(Book));
q = (book)malloc(sizeof(Book));
p=he->next;
while(p != NULL)
{
i++;
p=p->next;
}
for(j=1;j<(i-1);j++)
{
p=he;
while(p->next->next != NULL) 为什么在这里是指的下一项的下一个
{
if(strcmp(p->next->SM,p->next->next->SM) == 1) 为什么 ==1, ==0又会怎样

{
q = p->next;
p->next=p->next->next;
p=p->next;
q->next=p->next;
p->next=q;
}
else
p=p->next;
}
}
}