#include <stdio.h>
#include <stdlib.h>
int main()
{
char a;
printf("대문자를 입력해주세요");
scanf("%c", &a);
if(65<= a <=90)
printf("대문자를 소문자로 바꾼값은 : %c", a+32);
else if(97<= a <=122)
printf("소문자에서 대문자로 바꾼값은 : %c",a-32);
system("pause");
}
대문자 -> 소문자는 되는데
소문자 -> 대문자가 안대요 머가문제일까요? 오류는 없는데
if 문은 조건 하나씩. ( 'A' <= a && a <= 'Z' ) 이런식.
ㄴ 엥? 그럼 대문자 -> 소문자는 왜대는거?
흠 이해가안대는구먼
65<=a<=90은 무조건 참이지. (65<=a)<=90 순서로 실행되는데 65<=a의 결과값은 1 아니면 0 (C 기준)이거나 1 또는 0으로 변환되는 값 (C++ 기준)이고 이건 당연히 90보다 작거나 같거든.
그래서 무조건 위쪽 if문에 걸리게 된다 이기야.
반대로 -7<a<-2 같은 건 항상 거짓이 나오겠지?
감사!