#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
}
To embed this project on your website, copy the following code and paste it into your website's HTML: