책 내용 질문하기
2022 정처산기 필기 249쪽 break, continue 예제문 결과 6 질문드립니다.
도서
2022 시나공 정보처리산업기사 필기
페이지
249
조회수
270
작성일
2022-02-11
작성자
탈퇴*원

2022 정처산기 필기 249쪽 break, continue 예제문 질문드립니다.

 

 

a 결과는

문제집 상에 6이라고 적혀 있는데요.

 

hap 결과가 9가 나오는 건 이해를 했는데,

 

a가 5가 된 다음에

 

hap += a;  적용되어

 

hap = 4+5 = 9가 된 후,

 

다시 a는 while 문에 의해 

③번 문장으로 간 뒤

 

5였던 a는  a++ 증감연산자 적용 후, 6이 된 후

if(a>5) 가 참이 성립되어

 

break; 탈출하는걸로 이해했는데요.

 

printf 출력하기전  break를 통해 if문을 탈출했기 때문에

 

6이 아니라, 5가 되는게 아닌가요??

 

왜 a 결과값이 6이 되는지 잘 모르겠습니다.

 

a++ 까지는 적용이 되고, 적용된 값이 출력이 되는 것인지요?

 

 

결과값 6 에 대한 답변 부탁드립니다.

감사합니다!  

답변
2022-02-14 10:06:06

안녕하세요 길벗수험서 운영팀입니다.

 

전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 

sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 

③번 문장과 같이 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다. 

 

즉, 3번에서 a는 6이 되고, (결정)

4번에서 a의 값 6은 5보다 크므로

5번의 break를 실행하여 9번으로 이동하고

10번의 printf문을 실행하여 a의 값 6이 출력되게 되는 것이죠.

 

행복한 하루되세요 :)

  • 관리자
    2022-02-14 10:06:06

    안녕하세요 길벗수험서 운영팀입니다.

     

    전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 

    sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 

    ③번 문장과 같이 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다. 

     

    즉, 3번에서 a는 6이 되고, (결정)

    4번에서 a의 값 6은 5보다 크므로

    5번의 break를 실행하여 9번으로 이동하고

    10번의 printf문을 실행하여 a의 값 6이 출력되게 되는 것이죠.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.