void reverse()//4.문자열 역출력
{
int i = 0, j = 0;
int temp = 0;
char before[256];
char after[256];
printf("┏━━━━━━━━━━━━━━━┓n");
printf("┃문자열 역출력 프로그램 입니다.┃n");
printf("┗━━━━━━━━━━━━━━━┛n");
do {
printf("역출력할 단어를 입력해주세요.n");
printf("☞");
gets(before);
while(before[temp] != ' ')
{
temp++;
}
for(i=0;i<=temp-1;i++)
{
after[i] = before[temp-1-i];
before[temp-1-i] = ' ';
}
after[temp] = ' ';
printf("%s를 역출력하면 %s입니다.n", before, after);
do {
printf("┏━━━━━━━━━━━━━━━━┓n");
printf("┃1. 프로그램을 다시 시작합니다. ┃n");
printf("┃0. 메뉴로 돌아갑니다. ┃n");
printf("┗━━━━━━━━━━━━━━━━┛n");
printf("☞ ");
scanf("%d", &start);
if((start != 0)&&(start !=1))
printf("잘못 입력하셨습니다.n");
}while((start != 0)&&(start != 1));
}while(start == 1);
}
======================================================
이거 처음실행은 멀쩡히 되는데요
1번눌러서 재실행하면 문자열 입력받는 부분이 씹히네요;;
어떻게해야되죠??
scanf로 받자니 띄어쓰기를 인식못하고...
방법좀 알려주세요^^
fgets 다음줄에 fflush(stdin); 을 해주시거나, 입력을 한번 더 받아서 입력스트림을 비워주시면 됩니다.