수고하십니다
교재 213p문제10번에서
for (a=0, a<5 ; ++a, b-= a)에서 만약 ++a를 후치연산자로 a++로 주었다면 답이 5 0 이나오는데 맞을까요?
안녕하세요 길벗수험서 운영팀입니다.
i가 후치 연산자이므로 나중에 계산되어야 한다고 생각하시는 분들이 있으나,
전치/후치 연산이 먼저 또는 나중에 수행되는 것을 '식'을 기준으로 합니다.
식은 세미콜론; 또는 쉼표, 로 구분되며 for문은 일반적으로 3개의 식으로 구성됩니다.
for ( 식1; 식2; 식3 )
해당 문제의 경우는 쉼표까지 사용하여 식3을 두개로 나눔으로써
for ( 식1; 식2; 식3, 식4) 로 되었습니다.
여기서++a는 쉼표로 구분된 단일 식으로, 식 수행 전에 수행하든, 후에 수행하든 결과가 동일해집니다.
즉, 이 ++a가 a++로 교체되든, a=a+1 또는 a+=1로 교체되든 결과에 어떠한 영향도 주지 않습니다
행복한 하루되세요 :)
-
관리자2025-03-14 19:16:56
안녕하세요 길벗수험서 운영팀입니다.
i가 후치 연산자이므로 나중에 계산되어야 한다고 생각하시는 분들이 있으나,
전치/후치 연산이 먼저 또는 나중에 수행되는 것을 '식'을 기준으로 합니다.
식은 세미콜론; 또는 쉼표, 로 구분되며 for문은 일반적으로 3개의 식으로 구성됩니다.
for ( 식1; 식2; 식3 )
해당 문제의 경우는 쉼표까지 사용하여 식3을 두개로 나눔으로써
for ( 식1; 식2; 식3, 식4) 로 되었습니다.
여기서++a는 쉼표로 구분된 단일 식으로, 식 수행 전에 수행하든, 후에 수행하든 결과가 동일해집니다.
즉, 이 ++a가 a++로 교체되든, a=a+1 또는 a+=1로 교체되든 결과에 어떠한 영향도 주지 않습니다
행복한 하루되세요 :)