편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2022.01.14

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


    #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을 해주는 문법 구조인가요? 이 부분만 해결이 되면 될 거 같습니다.

  • 프로필 윤상혁님의 편집
    날짜2022.01.14

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


    include

    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을 해주는 문법 구조인가요? 이 부분만 해결이 되면 될 거 같습니다.