과제를 하다 막히는 문제가 있어서 질문 드립니다
문제는
문자열을 입력받아 배열에 저장하고 단어의 순서를 뒤집어 동일 배열에 저장 및 출력하시오
단 하나의 20칸 배열만 사용하시오
결과)
입력 : apple banana cherry
출력 : cherry banana apple
apple을 입력하면 elppa 이런식으로 출력하는 문제는 풀어봤는데 이런 형식의 문제는 생소하기도 하고 감이 잘 안잡혀요
일단 문장을 gets로 입력 받은 후 토큰 분리해서 입력한뒤
strcat 를 이용해서 이어붙이려고 했는데 디버깅은 되는데 선언을 참고하라는 말과 함께 실행이 되지 않습니다
#include<stdio.h>
#include<string.h>
int main()
{
char sen[20];
char *t1,*t2,*t3;
int i;
printf("입력 : ");
gets(sen);
t1=strtok(sen," ");
t2=strtok(NULL," ");
t3=strtok(NULL," ");
for(i=0;i<20;i++)
sen[i]=*((t3)+i);
strcat(sen,t2);
strcat(sen,t1);
printf("출력 : ");
puts(sen);
return 0;
}
일단 이게 제가 짜본 코드고요, 기억이 잘 나지 않는 부분도 있어 책도 중간중간 찾아보면서 짜봤어요
많이 갈아엎어야 될거..같기도 하구요..ㅠㅜ
배열 여러개 사용하면 결과는 만들 수 있을것도 같은데 문제에선 한 배열로 해결하라고 하니..ㅠㅜ