• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

24.02.04 12:13 작성 조회수 69

1

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

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2024.02.04

안녕하세요, 질문&답변 도우미 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 입니다.

     

 

 

강진성님의 프로필

강진성

질문자

2024.02.04

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