연산자 질문
핫보라
2023.04.01
질문 제목 : 질문 내용 : /* op4.c */
#include stdio.h
int main (void)
{
int val1=10;
int val2=(val1--)+2;
printf(val1 : %d \n, val1);
printf(val2 : %d \n, val2);
return 0;
}이 식에서 val1--가 선 연산후 감소인데
어떻게 val2값이 12가 나와야 되는지 이해가 안됩니다..
10 연산후 1 감소하고 +2면 11이 되어야 되는거 아닌가요?
설명좀 부탁드립니다..
-
연꽃
전위 연산자와 후위 연산자의 차이입니다.
--val1 이라고 하시면 원하시는 답이 나올것 같습니다.
v +=1 ;
v = v+1 ; 두 코드는 같은 코드입니다. (이미 아시겠지만요;;)
두번째 처럼 사용하면 가끔씩 무시하시는 분들이 있는데 컴파일 코드(기계어)가 같습니다.
컴파일러 종류에 따라서 차이가 난다고 해도 2~8정도의 CPU클럭 정도 차이라고 알고 있습니다.
코드를 2~3줄짜리를 한줄로 줄이는 코드 OR(AND) 속도 빨라야되는(게임