int main(void)
{
int n1 = 0, n2 = 0, n3 = 0, re = 0;
printf("월을 입력하세요 : ");
scanf("%d", &n1);
if (n1 > 12 || n1 < 1)
printf("다시 입력하세요");
else if (n1 == 1)
printf("1월의 마지막달은 31일 입니다.");
else if (n1 == 2)
printf("2월의 마지막달은 28일 입니다.");
else if (n1 == 3)
printf("3월의 마지막달은 31일 입니다.");
else if (n1 == 4)
printf("4월의 마지막달은 30일 입니다.");
else if (n1 == 5)
printf("5월의 마지막달은 31일 입니다.");
else if (n1 == 6)
printf("6월의 마지막달은 30일 입니다.");
else if (n1 == 7)
printf("7월의 마지막달은 31일 입니다.");
else if (n1 == 8)
printf("8월의 마지막달은 31일 입니다.");
else if (n1 == 9)
printf("9월의 마지막달은 30일 입니다.");
else if (n1 == 10)
printf("10월의 마지막달은 31일 입니다.");
else if (n1 == 11)
printf("11월의 마지막달은 30일 입니다.");
else if (n1 == 12)
printf("12월의 마지막달은 31일 입니다.");
여기서 12월달거 else로 두면 안되자나
- dc official App
안해도 됨. 이미 예외조건을 맨앞에 달았는데 이걸 else로 뺄수 있겠지? - dc App
근데 n1이 12월일때 12월의.일을 출력하는건데 저기에 조건이 없어도됨? - dc App
되긴하네 - dc App
논리적으로 12말곤 들어올수 없으니까 12월 조건을 안넣고 else문만 써도 상관없지. 근데 그렇게 하지말고 맨처음에 넣은 조건을 마지막 else조건으로 쓰라는거야. - dc App
왜?? 아 ㅇㅋ - dc App
이경우엔 switch문이 깔끔할거같네
안그래도 배우는중 - dc App
case 4: case 6: case 9: case 11: printf("%d월의 마지막날은 30일", n);
근데 swith가 else if보다 효율적임? - dc App
뭔가 기계나 속도관점에서 - dc App
속도는 빠르긴함 조건 바로 평가해서 점프뛰는거라
그럴거같음 ㅇㅇ.. - dc App
나는 else 값은 보통 잘못넣은값을 넣었을 때 나올 문구를 출력해 만약 사용자가13이나 20을 넣었다면? 이런 가정하에 "잘못된 입력입니다" 이런식으로 나오게 만들어 ㅇㅇ