책 내용 질문하기
259쪽 29번문제 질문 드립니다!
도서
2023 시나공 정보처리산업기사 실기
페이지
259
조회수
223
작성일
2023-09-19
작성자
탈퇴*원
첨부파일

for문 i가 후치연산인데 1을 먼저 증가시키고 p *=  i를 계산하는게 맞는지 궁금합니다

i가 0으로 시작해서 p *=  i 를 계산했을때,

i  0 1 2 3 4 5

p 0 0 0 0 0

이라는 결과값이 나옵니다 ..! 

혹시 i++와 p *=  i 를 서로 다른 연산으로 구분해서 i++을 했을때 하나의 연산이 끝난것으로 보고 1이 증가되어 p *=  i를 계산하는건가요 ?

다른언어에서의 계산방법과 상이한건가요?

답변
2023-09-20 16:22:45

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

 

전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 위와 같이 쉼표로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다. 

 

때문에, i++은 단순히 i=i+1과 다를바 없는 것이고, 이에 p에는 1부터 곱해진 값이 산출되게 되죠.

 

행복한 하루되세요 :)

  • 관리자
    2023-09-20 16:22:45

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

     

    전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, 위와 같이 쉼표로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다. 

     

    때문에, i++은 단순히 i=i+1과 다를바 없는 것이고, 이에 p에는 1부터 곱해진 값이 산출되게 되죠.

     

    행복한 하루되세요 :)

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