연산식 조건에서, a=3 으로 줬는데.
2번 문제에서 ++a 를 해설하는 부분에 3번 부분에서 3으로 설명해주셨는데
++ 해서, 3이 아니라, 4 아닌가요?
정답은 어차피 1로 똑같아지는 건 같은거 같은데.
이게 4가 아니라, 왜 3인지 잘 이해가 되지 않네요
설명 부탁드립니다~
안녕하세요 길벗수험서 운영팀입니다.
전치 연산자를 3번 뿐만이 아닌 1번도 고려해야 하기 때문입니다.
해당 식은 너무 기니 예를 들어,
a=2;
x = ++a * --a; <- 2*2
요런 식이 있다고 가정하죠.
이때 C언어에서는 ++과 --를 *연산 전에 계산하여 풀어보면 다음과 같이 표현할 수 있습니다.
a=2;
a=a-1; <- --a 적용
a=a+1; <- ++a 적용
x = a * a; <- 2*2
교재의 문제에서도 --가 먼저 계산되어 a가 2가 되었다가 다시 ++이 계산되면서 3으로 결정되어 식에 사용된 것입니다.
행복한 하루되세요 :)
-
관리자2023-05-22 09:28:13
안녕하세요 길벗수험서 운영팀입니다.
전치 연산자를 3번 뿐만이 아닌 1번도 고려해야 하기 때문입니다.
해당 식은 너무 기니 예를 들어,
a=2;
x = ++a * --a; <- 2*2
요런 식이 있다고 가정하죠.
이때 C언어에서는 ++과 --를 *연산 전에 계산하여 풀어보면 다음과 같이 표현할 수 있습니다.
a=2;
a=a-1; <- --a 적용
a=a+1; <- ++a 적용
x = a * a; <- 2*2
교재의 문제에서도 --가 먼저 계산되어 a가 2가 되었다가 다시 ++이 계산되면서 3으로 결정되어 식에 사용된 것입니다.
행복한 하루되세요 :)