• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.01.26 14:58 작성 조회수 216

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

강민철님의 프로필

강민철

2023.01.26

 else if (ch >= 'a' && ch <= 'z')

말씀이신거죠?

조건문을 차근차근 살펴보세요.

그냥 if를 사용하면 대문자를 처리하기 위한 부분이 없는 것이나 다름 없기 때문입니다.