• [개발] 교수님이 가르친 천명중에 5명만 맞힌 문제2022.10.22 PM 05:59

게시물 주소 FONT글자 작게하기 글자 키우기







(감동...)



댓글 : 5 개
1 2 3 4 5

저정도면 쉬운편인데?;;

라고 하고 아래 덧글을 보고 자바로 돌려봤더니..

1 2 7 4 3 이 나오네..

머지?? 도데체 이해가 안가는데;;

다음 중간고사때 저거 내야겠다.. ㅋㅋㅋ

  • SAY L
  • 2022/10/22 PM 10:21
두번째 비교에서 에서 b가 3이 아니기에 세번째 && 연산은 안하고 넘어가서 그대로 c는7이고 네번째 d는4로 참이 됬으니 뒤쪽 e는 비교를 안하고 넘아거서 e값은 그대로 3. 그래서 1 2 7 4 3 이 나온거같네요. && 연산은 앞이 거짓이면 뒤쪽을 확인 하지않고 || 연산은 앞이 참이면 뒤쪽을 확인하지 않는데 그걸 가르치는 문제겠네요.
답변 감사합니다.

좋은거 하나 알아갑니다..ㅎㅎ

이걸.. 개발 15년차가 넘어서 알아가네요;;

PS. 이걸 버그라고 하기도 애매하고...

() 연산 전에 &&에 걸려 버린 꼴이 되버리니... 버그인거 같기도 하고... ㅋㅋ
  • SAY L
  • 2022/10/23 AM 11:15
실제로 저렇게 쓸일이 없으니 모르실수도 ㅎㅎ; (a=1)==1 && (b=2)==3 &&(c=3)==3 이렇게써도 내부적으로는 ( (a=1)==1 && (b=2)==3 ) &&(c=3)==3 이런식으로 우선순위에 따라 바인딩 되어 처리되는 걸로 알고있습니다. 그래서 저런식으로 연속해서 비교연산자를 쓰면 이상하게 되는거 같습니다.
  • SAY L
  • 2022/10/22 PM 09:03
실무에서 저렇게 쓰는 사람 없겠죠;; 연산 우선순위 문제네요.. 돌려보면 1 2 7 4 3 나옵니다.
친구글 비밀글 댓글 쓰기