#include <stdio.h>
//case 1 static 지역변수는 함수 호출 후에도 값을 기억함
// int fun(){
//     static int x=10; //static 은  호출되었을때 초기화 1번만 하고 그다음 부터는 값이 누적됨
//     return x+=10; //x 값: 20->30 
// }

// void main() {
//     int x;   //함수안에서만 사용, 전역변수와 이름이 같으면 지역변수가 우선
//     x=fun(); //반환된 x값이 main 지역변수 x에 저장
//     x=fun(); //위와 동일
//     printf("a=%d\n" , x); //지역변수 x값 출력, x=30
// }
//     main_y();
// }

//case2 전역변수와 지역변수가 이름이 같으면 main 안에서는 지역변수가 우선됨
// int x = 10; //fun2() 호출될때마다 y값이 변화, 10->20>30

// void fun(){
//     x+=10; //지역변수가 없음으로 전역변수 y 사용
// }

// void main() {
//     int x = 10; //지역변수, 함수안에서는 지역변수 우선
//     fun(); //전역변수 y값만 변화시킴
//     fun(); //전역변수 y값만 변화시킴
//     printf("b=%d\n" , x); //여기의 x는 main() 함수안에 있는 지역변수, x=10
// }

//case3 main 안에 지역변수가 없으므로 전역변수를 출력함
int x = 10; //fun() 호출될때마다 y값이 변화, 10->20>30

void fun(){
    x+=10; //지역변수가 없음으로 전역변수 x 사용
}

void main() {
    fun(); //전역변수 y값 변화시킴
    fun(); //전역변수 y값 변화시킴
    printf("c=%d\n" , x); //전역변수 x값 출력, x=30
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: