프로그래밍

 3198, 1/160 회원가입  로그인  
   benkim
   c언어 질문

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



int main()
{

int i=1;

printf("%d %d",++i,i++);

return 0;
}

실행 결과:
2 2

제가 열혈강의 c프로그래밍 동영상 강의를 봤을때 는 오른쪽에 ++(i++)를 하면 분명 다음 줄로
넘어가야 증가되야 하는데 왜 바로 2 2가 출력되나요??

int main()
{

int i=1;

printf("%d"i++);

return 0;
}

실행 결과:
1

왜 이코드 에선 다르게 출력되나요?

  Hit : 6042     Date : 2013/06/09 02:35



    
rigel_ko printf("%d %d",++i,i++);
첫번째 ++i에서, i는 2가 됩니다.
그리고, i++를 하면 현상태는 2지만 담줄로 넘어가면 3이 되겠지요 ?
2013/06/09  
rigel_ko i++과 ++i는 독립적인게 아닙니다..
i++ 하고 다시 ++i한다고 i가 초기화되는게 아니고

i가 1 상승한 그대로 남아있는거죠
2013/06/09  
kumi123 ++i 는 선증가 후출력이고, i++는 선후출 후증가 이니까요 2013/06/09  
benkim // rigel_ko
//kumi123

감사합니다 ㅎㅎ
2013/06/09