i love you i hate you라고 치면

나 사랑해 너 나 싫어해 너 식으로 출력되는 코드인데

'나'만 나오고 안나와ㅏㅠㅠ


 


 

#include <stdio.h>
#include <string.h>

#define MaxWord  5

void Translate(char *pInput, char *pTranslation);
char *ReturnKoreanAddress(char *pFirstAddress);

char Dic[MaxWord][2][20]=
{
 {"i", "나"},
 {"love", "사랑해"},
 {"like", "좋아해"},
 {"hate", "싫어해"},
 {"you", "너"}
};

void main()
{
 char Input[128], Translation[256]={};
 printf("영어를 128자 미만으로 입력하세요 : ");
 gets(Input);
 strlwr(Input);

 Translate(Input, Translation);

 printf("%s", Translation);
}

void Translate(char *pInput, char *pTranslation)
{
 int i;
 char *FirstAddress=pInput, *KoreanAddress;

 for(i=0; i<strlen(pInput)+1; i++)
 {
  if(pInput[i]==' '||pInput[i]=='\0')
  {
   pInput[i]='\0';
   KoreanAddress=ReturnKoreanAddress(FirstAddress);
   if(KoreanAddress!='\0')
    strcat(pTranslation, KoreanAddress);
   else strcat(pTranslation, FirstAddress);
   strcat(pTranslation, " ");
   FirstAddress=&pInput[i+1];
  }
 }
}

char *ReturnKoreanAddress(char *pFirstAddress)
{
 int i;

 for(i=0; i<MaxWord; i++)
 {
  if(!strcmp(pFirstAddress, Dic[i][0])) return Dic[i][1];
 }
 return '\0';
}