已经尝试去注销clear linklist那一段代码,还是中断,执行情况如下:
源代码如下:
#include
#include //malloc();原型
#include //strcpy();原型
#define SIZE 20 //最大字数
typedef struct film
{
char title[SIZE];
int rating;
struct film * next;
}Film;
int main()
{
Film *head=NULL;
Film *prev,*current;
Film *temp;
char title2[SIZE];
//写入
puts("Scan first title(0-20 charecter)");
while(gets(title2)!=EOF&&title2[0]!='\0')
{
current = (Film *)malloc(sizeof(Film));
//存第一个指针head
if(head==NULL)
{
head=current;
}
else
prev->next=current;
strcpy(current->title,title2);
puts("Rating is...(0-10)");
scanf("%d",¤t->rating);
getchar();
puts("Enter next movie title");
prev=current;
}
//显示
if(head!=NULL)
{
current=head;
while(current!=NULL)
{
printf("the title is %s,the rating is %d\n",current->title,current->rating);
current=current->next;
}
}
else
puts("Not find any dota...");
//清内存
current=head;
while(current!=NULL )
{
temp=current;
current=current->next;
free(temp);
}
puts("OK!");
return 0;
}