작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
286
0
대소문자 교환 문제에서
while ((ch = getchar()) != '\n') {
if (ch >= 'A' && ch <= 'Z')
ch += 'a'-'A';
else if (ch >= 'a' && ch <= 'z')
ch -= 'a'-'A';
putchar(ch);
}
라는 코드에서 밑부분에 else if 를 사용하면 정상 작동이 되는데 else if 가 아닌 그냥 if를 사용하면 소문자는 잘 바뀌는데 대문자가 소문자로 변하질 않네요... 이유가 뭘까요?ㅠㅠ
답변 1
0
else if (ch >= 'a' && ch <= 'z')
말씀이신거죠?
조건문을 차근차근 살펴보세요.
그냥 if를 사용하면 대문자를 처리하기 위한 부분이 없는 것이나 다름 없기 때문입니다.