//문자 배열을 인자로 받아서 문자열 내의 영문자를 모두 소문자로 만드는 MakeLower 함수와
//대문자로 만드는 MakeUpper 함수를 정의하시오.두 함수 모두 문자열 내의 영문자만 변경하고,
//숫자나 다른 기호는 변경하지 않는다.문자열을 입력받아서 문자열 내의 모든 문자를
//각각 소문자와 대문자로 변경해서 출력하는 프로그램을 작성하시오.
#include <stdio.h>
#include <string.h>
char MakeLower(char *tmp, int l)
{
char con[100];
int i;
for (i = 0; i <= l; i++)
{
if ((tmp[i] >= 'A') && (tmp[i] <= 'Z'))
con[i] = tmp[i] + 32;
}
con[l] = '\O';
printf("%s", con);
return con[100];
}
char MakeUpper(char *tmp, int l)
{
char con[100];
int i;
for (i = 0; i <= l; i++)
{
if ((tmp[i] >= 'a') && (tmp[i] <= 'z'))
con[i] = tmp[i] - 32;
con[i] = '\O';
printf("%s", con);
}
con[l] = '\O';
printf("%s", con);
return con[100];
}
int main()
{
char words[100];
int length, s;
length = strlen(words);
printf("문자열을 입력하십시오.(100자이하)\n");
gets(words);
printf("컨버트할 함수를 고르시오.(1.대문자, 2.소문자)\n");
scanf("%d", &s);
if (s=1)
MakeLower(words, length);
else if (s=2)
MakeUpper(words, length);
return 0;
}
이렇게 코딩을 했는데.. 컴파일하면 멀쩡한게 이상하게 자꾸 한자?같은게 막 뜨면서 에러가 나더라구요 ㅠㅠ
혹시 원인이 뭔지 아시나요 ..ㅠ