链表不能展示结果,
链表不能显示结果,,,
输入几条信息之后,以空行结束。
可是显示
Here is the movie list:
Bye!
程序就关闭了,何解?
------解决方案--------------------
- C/C++ code
//films2.c 使用结构链表 #include <stdio.h> #include <stdlib.h> //提供malloc()原型 #include <string.h> //提供strcpy()原型 #define TSIZE 45 //存放片名的数组大小 struct film{ char title[TSIZE]; int rating; struct film * next; //指向链表的下一个结构 }; int main(void) { struct film * head = NULL; //初始化头指针 struct film * prev, * current; char input[TSIZE]; //收集并存储信息 puts("Enter first movie title: "); while(gets(input) != NULL && input[0] != '\0') { current = (struct film *) malloc(sizeof(struct film)); if (head = NULL) //第一个结构 head = current; else //后续结构 prev->next = current; current->next = NULL; strcpy(current->title,input); puts("Enter your rating <0-10>: "); scanf("%d",¤t->rating); while(getchar() != '\n') continue; puts("Enter next movie title (empty line to stop): "); prev = current; } //给出电影列表 if(head = NULL) printf("No data entered. "); else printf("Here is the movie list: \n"); current = head; while(current != NULL) { printf("Movie: %s Rating: %d\n",current->title,current->rating); current = current->next; } //任务已完成,因此释放所分配的内存 current = head; while(current != NULL) { free(current); current = current->next; } printf("Bye!\n"); return 0; }
输入几条信息之后,以空行结束。
可是显示
Here is the movie list:
Bye!
程序就关闭了,何解?
------解决方案--------------------
- C/C++ code
if(head = NULL)