문제가 뭔지좀 부탁드릴게요.. ㅠ_ㅠ 초보라서..
서리서리
2023.04.01
입력 문자열을 배열에 저장한 다음, 배열 내에서 문자열을 역순으로 뒤집는다.
그리고나서 제대로 뒤집어졌는지 확인하기 위해서 문자열을 출력해 보는 프로그램인데요-..
영문자는 제대로 출력이 되는데, 한글은 깨져서 나오는 이유는 머에요? ㅠ.ㅠ
#include stdio.h
int main(void)
{
char a[30];
int len,i;
printf(입력: );
scanf(%s, a);
for(i=0;i30;i++) // 문자열의 길이구함 - len
{
if(a[i]==0)
{
len = i;
break;
}
}
for(i=0; ilen/2; i++) //문자 바꾸는 부분.
{
char temp = a[i];
a[i] = a[len-i-1];
a[len-i-1] = temp;
}
printf(바뀐 결과 : %s \n, a); // 바뀐 문자열 출력
return 0;
}
-
다옴
한글 입력하고 중간에 배열 요소 한개만 프린트 해보면 아시겟지만 한글은 배열요소 한개에 한글자씩 들어가지 못합니다. 한글자를 다 안바꾸고 중간에 짤라서 바꾸어 버리기 떄문에 이상한 문자 가 나오게됩니다.