#include <ctype.h>
int main()
{
int ch;
while ((ch = getchar()) != '\n')
{
if (islower(ch))
ch = toupper(ch);
else if (isupper(ch))
ch = tolower(ch);
putchar(ch);
}
putchar(ch);
return 0;
}
대문자를 입력하면 소문자로 바꿔주고, 소문자는 대문자로 바꿔주는 코드인데용..
궁금한게 else if (isupper(ch)) 이 부분을 ->> if (isupper(ch)) 로 바꿔서 둘다 if문으로 실행시
소문자 -> 대문자로 변경이 안되고 , 대문자 -> 소문자만 변경이 되는데 왜 그런건가요??
else if 대신에 그냥 if 써도 된다고 들어서 호기심에 바꿔봣는데 궁금합니다 .. ㅜㅜ
1.소문자 케이스 is lower에서 걸려서 대문자로 변경됨 그 후 그 더음 조건절에서 is upper에 걸려서 다시 소문자로 변형될거임 2. 대문자 케이스 첫번째 조건절 안걸리고 두번째만 걸려서 소문자 변환
if만 쓸거면 변환하고 빠져나오게 햐보세여
else if대신에 else를 써야 - dc Cpp
다들 답변 감사합니다 ㅜㅜ