#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int OK_SAVING_BANK(int a);
void p9_2_2()
{
int a=0;
while (1)
{
scanf("%d", &a);
printf("저금할 금액: %d\n", a);
if (a == -1)
break;
printf("현재까지의 입금액: %d\n", OK_SAVING_BANK(a));
}
printf("입금완료\n");
return 0;
}
int OK_SAVING_BANK(int a)
{
static int b;
b = a + b;
return b;
}
보통 함수안에 있는 변수는 함수가 호출되서 생겼다가, 함수가 종료되면 사라지는데 static 변수는 사라지지 않지
지난주에 reentrant, thread safe 설명을 해줬는데 그 부분을 이야기하는게 이부분이야.
이번주에 함수 이야기를 하면서 그 부분도 설명해주도록 할게