[JW0004-3] 책 도전 실전 예제 12 -2

Post Reply
s201621148
Posts: 2
Joined: Thu Oct 13, 2016 9:12 am

[JW0004-3] 책 도전 실전 예제 12 -2

Post by s201621148 »

도전 실전 예제 12-2에서 나머지는 다 되는데 단어 end를 입력해서 입력을 종료시키는 것인데 안되서 그러는데 한번 봐주세요

Code: Select all

 #include<stdio.h>
  2 #include<string.h>
  3 void print_voca(char *voca, char *save);
  4 void main()
  5 {
  6     char voca[20] = "";
  7     char savev[1000] = "";
  8     printf("enter the voca : ");
  9     print_voca(voca, savev);
 10 }
 11 void print_voca(char *voca, char *save)
 12 {
 13     while(strcmp(fgets(voca, sizeof(voca), stdin), "end") != 0)
 14     {
 15         voca[strlen(voca)-1] = '\0';
 16         strcat(save, voca);
 17         printf("saved string : %s \n", save);
 18         strcat(save, " ");
 19         printf("enter the voca : ");
 20     }
 21 }

kiwoon Moon
Posts: 12
Joined: Mon Dec 29, 2014 5:29 pm

Re: [JW0004-3] 책 도전 실전 예제 12 -2

Post by kiwoon Moon »

코드 상의 line 13에서는 입력받는 문자열의 길이가 0인지 아닌지 판단할 뿐 end 문자의 입력 여부를 판별하지는 않아요.

end 문자를 입력 받는다면 더 이상 문자열을 입력받지 않는다는 의미는 다시 생각해보면

end 문자열를 입력받았을 때 입력 받은 문자열이 end 문자열인지 아닌지를 판단하는 루틴이 필요할 것이고,

end 문자열을 판단해 냈다면 문자열을 입력받는 반복문을 더 이상 수행하지 않도록 하는 루틴이 필요하지 않을까요?

Post Reply