프로그래밍

 3198, 1/160 회원가입  로그인  
   SeungAh
   증감연산자에서 이해가 잘 안되는 부분이 있습니다

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3322 [복사]


#include <stdio.h>

int main(void)
{
      int val1=10;
      int val2=(val--)+2;

      printf("val1 : %d n", val1);
      printf("val2 : %d n", val2);

      return 0;
}

저기서 왜 val1의 값이 9가되고 val2의 값은 12가 되나요?

  Hit : 4546     Date : 2012/03/02 12:11



    
cd80 a++는 실행후 연산
++a는 실행전 연산입니다
a++ 가 a=a+1이란건 아실거라 생각합니다
val1이 10이였으니
val2에 들어간건 val1+2
그후 val1-- 뒤에 있는 --로 인해
val1 = val1-1가 됩니다
따라서 마지막엔 val1은 9
val2는 12가됩니다
2012/03/02  
SeungAh 아아 그러니까 (val1--)+2; 에서 val1을 실행(val1+2)한 후에 마이너스가되서 val1이 9가되는군요

답변 감사드려요 ㅎㅎ
2012/03/02