일단 제시된 데이터를 이용해 미래의 주식 변동을 예측하는 것이 과제입니더
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.....
댓글 0