程序能显示正确答案,但是输出完正确答案,程序就异常中断了
七公子v 2019-03-05 10:56:43 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TMAX 45
struct film {
char name[TMAX];
int ratting;
struct film *next;
};
int main(void) {
struct film * head = NULL;
struct film * pre ;
struct film * ra ;
char na[TMAX];
puts("输入第一个电影名字");
while ((gets(na) !=NULL)&&(na[0] != '\0')) {
ra=(structfile*)malloc(sizeof(struct film));
if (head == NULL) head = ra;
else pre->next = ra;
ra->next=NULL;
strcpy(ra->name, na);
puts("输入等级");
scanf("%d", &ra->ratting);
while (getchar() != '\n') continue;
puts("下一个电影的名字");
pre=ra;
}
if (head == NULL) puts("木有电影"); else puts("电影如下");
ra = head;
while (ra != NULL)
{ printf("电影:%s 等级:%d\n", ra->name, ra->ratting);
ra = ra->next;
}
ra= head;
while (ra != NULL) { free(ra); ra = ra->next; }
puts("再见");
return 0;
}
实在对不起,电脑没电了,代码导到手机上布局就乱掉了