c언어 지역변수에 관한 질문입니다.

조회수 286회
#include <stdio.h>

void TestLocal();

int main(){
  TestLocal();
  TestLocal();

  return 0;
}

void TestLocal(){
  int num=0;

  printf("num=%d\n",num++);
}

코드의 결과가 0,0 이 나오고 책의 해설에서는 num++num의 값을 증가시키지만 함수가 리턴할 때 num이 해제되므로 증가된 값은 사라진다는 데 이해가 잘 가지 않습니다. 해결 부탁드립니다.

p.s. num++은 먼저 num==0을 출력한 다음, num+1을 해주는 문법 구조인가요? 이 부분만 해결이 되면 될 거 같습니다.

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.