#include <stdio.h>

void main() {

    int a=10;

    static int b=20;

    {

        int a=5;

        b=a+10;

    }

    printf("a=%d b=%d\n", a, b);

}



해당 코드를 실행하면 왜 a=10, b=15가 나오는거임?


a는 전역 변수라서 안에 있는 거 영향없이 10이 그대로 나오는 것 같고(내 생각)

b는 static 정적 전역변수를 찾아봐도 명확한 이유를 모르겠음...


진짜 제대로 C알못이니 설명해주면 ㄳ ㅠ