hoya2080   4년 전

음... 이렇게 코드를 짜보았는데 예제에서부터 막히네요... 문법이 어디가 잘못된 건지 몰라 질문합니다~~

pichulia   4년 전

20번째 줄의 a!=b!=c가 원하는 동작이 아닐거 같습니다.

수학적인 기호랑은 다르게 컴퓨터는 2개씩밖에 비교를 못합니다. 깊게 따지고 들면 저 식도 뭔가 동작을 하긴 하지만..영 좋지 않고 정해지지 않은 지 멋대로 동작하기 때문에 피해야합니다.


a!=b && b != c && c != a로 바꾸셔야 합니다.

dyk777   4년 전

가장 직접적인 원인은 20번 줄에 있어 뵈네요.

a!=b!=c는 c/c++에서 (a!=b)!=c와 같이 되고, (a!=b)에서 결과값이 0 또는 1이므로 a!=b!=c는 0!=c (a와 b가 다른 경우) 또는 1!=c (a와 b가 같은 경우)로 판정됩니다.

이는 절대로 원하는 내용이 아니겠죠.

및, 논리에 문제는 없어 보이지만 감히 조언을 드리자면

14번 줄 같은 경우, &&와 ||의 연산 순서를 ()를 이용하여 명확히 해 주는 것이 좋습니다.

(a+b+c==180&&a==b)||(a+b+c==180&&b==c)||...과 같이 말이죠.

hoya2080   4년 전

두 분 다 감사합니다!!! 정말 많은 도움이 되었습니다!!!

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