c언어 연습문제 질문
-
게시물 수정 , 삭제는 로그인 필요
1. a, b, c부터 결과를 설명할 때
a. z는 5, k는 6, m은 10
b. a = 38, b = 63
c. a, b, c, d = 0, 4, 2, 1이 나온다고 생각했는데 c언어 돌려보니까 맞는 거 같긴한데 맞나요?
2. a, b, c 순으로 논리 설명해보는데 맞는지 확인 부탁드려요.
a에서는 k < m이니까 k++이 실행됨.
z = k++;이므로 z에는 k값 5가 저장되고 k는 후위 증가이므로 +1 되서 6이 됨, m은 10.
b에서는 전위 증가 연산자가 우선순위가 높으니까 a에는 b와 c가 11, 26이 된 이후 합이 37이라는 값이 저장됨
b에는 a값 37을 더한 후 a는 +1 증가함,
결과적으로 a는 38이 되고, b에는 37+26=63이 됨
c에서는 논리연산자 특성 상 왼쪽부터 진행함
&& 왼쪽에 ++a 먼저 실행하면 0이 되므로 오른쪽 ++b는 실행되지 않음.
<여기가 약간 헷갈리는데> || 왼쪽의 논리값이 (++a && ++b)의 결과인 0이므로 우측 ++c를 실행해서 d에는 0 || 2이므로 참이 되어서 1이 저장되고, c는 2가 됨.
결과적으로 a는 0, 4, 2, 1
3. c에서 ||실행되기 전에 좌측을 ++b를 실행한다고 보는 게 맞나요, (++a && ++b)라고 보는게 맞나요?
#c언어 연습문제 모음 #c언어 연습문제 #c언어 연습문제와 해답 #c언어 연습문제 pdf #c언어 for beginner 연습문제 답 #c언어 포인터 연습문제 #c언어 콘서트 3장 연습문제 #c언어 콘서트 8장 연습문제 #c언어 콘서트 연습문제 #달콤한 c언어 연습문제