일단 제시된 데이터를 이용해 미래의 주식 변동을 예측하는 것이 과제입니더


  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #define  N  10
  4 struct linked_list {
  5     char               d;
  6     struct linked_list *next;
  7 };
  8 typedef  struct linked_list   ELEMENT;
  9 typedef  ELEMENT            *LINK;
 10 LINK string_to_list(char s[]) {
 11     LINK  head;
 12     if (s[0] == '\0')
 13         return NULL;
 14     else {
 15         head = malloc(sizeof(ELEMENT));
 16         head -> d = s[0];
 17         head -> next = string_to_list(s + 1);
 18         return head;
 19     }
 20 }
 21 void print_list(LINK head) {
 22     if (head == NULL)
 23         printf("NULL \n");
 24     else {
 25         printf("%c --> ", head -> d);
 26         print_list(head -> next);
 27     }
 28 }
 29 int main(void) {
 30     char input[N];
 31     LINK h;
 32     printf("문자열 입력: ");
 33     scanf("%s", input);
 34     h = string_to_list(input);
 35     printf("변환 리스트 결과 : \n");
 36     print_list(h);
 37     return 0;
 38 }


위 코드 실행 결과 "nice"입력시

문자열 입력: nice
변환 리스트 결과 : 
n --> i --> c --> e --> NULL


를 "exit"가 입력될 떄까지 반복적으로 입력된 문자열을 리스트로 변환한 후 출력하도록
코드 수정해야되는데 혹시 아시는 분..ㅠㅠ
그리고 free()를 사용해야하는데... 위 코드와 비교하여 free()가 필요한 이유도 설명해줄 수 있으까여..
아래와 같이 실행결과가 나와야됨

문자열 입력: nice
변환 리스트 결과 : 
n --> i --> c --> e --> NULL

문자열 입력: mice
변환 리스트 결과 : 
m --> i --> c --> e --> NULL

문자열 입력: nike
변환 리스트 결과 : 
n --> i --> k --> e --> NULL

문자열 입력: exit
BYE.....