인프런 커뮤니티 질문&답변

강진성님의 프로필 이미지
강진성

작성한 질문수

홍정모의 따라하며 배우는 C언어

5.8 증가, 감소 연산자

13분 03초, 39번째 줄 i =1이 왜

해결된 질문

작성

·

117

1

출력이 0으로 나오는건가요..? l은 2가 되는게 납득이 갑니다만 40번째 줄에서 i가 1이 감소하는 건가요??

답변 1

1

안녕하세요, 질문&답변 도우미 Soobak 입니다.

 

// ...
i = 1;
l = 2 * i--;
printf("%d %d\n", i, l);
//...

위 코드에서 :

  1. i1 로 초기화 됩니다.

  2. l2 * i-- 의 결과가 할당됩니다.
    여기서, 사용된 후위 감소 연산자 i-- 는 현재 i 의 값인 1 을 사용해서 곱셈을 수행한 다음, i 의 값을 감소시킵니다.
    그래서, l2 * 1 이 되어 2 가 되고, i0 으로 감소합니다.

  3. printf("%d %d\n", i, l);il 의 값을 출력합니다.
    i 는 곱셈에서 사용된 후 감소되었기 때문에 이제 0 입니다.
    l 은 이해하신 것 처럼 2 입니다.

     

 

 

강진성님의 프로필 이미지
강진성
질문자

감사합니다...완전히 이해했어요

강진성님의 프로필 이미지
강진성

작성한 질문수

질문하기