jungsuna99   4년 전

1. 값은 정상적으로 출력되는데 사이트에서 틀렸다고 나오는이유가 궁금합니다!

(9-11째 줄은 없으나 있으나 다 안되더라구요. 혹시나해서 조건넣었습니다)


2. for문 안에 if 문 ( 14-23째줄) 에서 if, else if , else if 하지않고

모두 if,if,if 로적으면 값이 다르게 출력되는데, 왜그런건가요?

값은 똑같아야할텐데 모두 if문으로 적을경우 잘못된 결과가 출력됩니다.. (1월달은 괜찮은데

나머지 달에서 다 잘못된값 출력하더라구요)

gallopsys   4년 전

그 이유는 바로 조건문의 조건을 잘못 쓰셨기 때문입니다.


예를 들면 i == 1|| 3 || 5 || 7 || 8 || 10 || 12이라고 하면 i의 값과 저 숫자들을 각각 비교하는 것이 아닌 i와 true(C언어에선 1)랑 비교하는 것처럼 연산이 되어버립니다.

즉, 위의 i == 1|| 3 || 5 || 7 || 8 || 10 || 12라는 조건문은 i == 1이 되어버리는 거죠. 그래서 엉뚱한 연산을 수행할 수 밖에 없는 것입니다.


따라서 위의 문제를 해결하고 싶으시면, i == 1|| i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12이라고 해주셔야 합니다. 마찬가지로 아래쪽 내용도 같습니다.

댓글을 작성하려면 로그인해야 합니다.