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를 계산하는건가요 ?
다른언어에서의 계산방법과 상이한건가요?
안녕하세요 길벗수험서 운영팀입니다.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, 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부터 곱해진 값이 산출되게 되죠.
행복한 하루되세요 :)