인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

홍정모의 따라하며 배우는 C언어

7.2 표준 입출력 함수들 getchar(), putchar() 예제

7.2강 25분경 마지막 문제 질문입니다!

작성

·

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를 사용하면 대문자를 처리하기 위한 부분이 없는 것이나 다름 없기 때문입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기