소문자 입력 --> 대문자로 변환해주는데 잘 안되네여 ;;
char str[30]; //이미입력받음
int i, j;
char ch = 'a'; //97
char lch = 'A'; //65
for (i = 0; i < strlen(str); i++){
for (j = 0; j < 32; j++){
if (str[i] != ch){
ch++;
lch++;
}
if (ch == str[i]){
str[i] == lch;
break;
}
}
}
소문자 입력 --> 대문자로 변환해주는데 잘 안되네여 ;;
char str[30]; //이미입력받음
int i, j;
char ch = 'a'; //97
char lch = 'A'; //65
for (i = 0; i < strlen(str); i++){
for (j = 0; j < 32; j++){
if (str[i] != ch){
ch++;
lch++;
}
if (ch == str[i]){
str[i] == lch;
break;
}
}
}
코드가 이해가 안가지 말입니다
머하는거지? 받은 글자가 ch 보다 크면 소문자니까, ch-lch (소문자와 대문자의 값 차이) 만큼 빼서 돌려주면 되지. 루프돌리면서 비교는 왜하는 걸까?
휴먼에러
for (i = 0; i < strlen(str); i++) str[i] -= 32;