c언어를 독학하고 있습니다.
static변수에 관해서 공부하던 중에 궁금한점이 생겨서 이렇게 질문글을 올립니다.
#include <stdio.h>
int AddToTotal(int num)
{
static total=0;
total+=num;
return total;
}
int main(void)
{
int num, i;
for(i=0; i<3; i++)
{
printf("입력%d: ", i+1);
scanf("%d", &num);
printf("누적: %d \n", AddToTotal(num));
}
return 0;
}
문제를 풀던 도중에 제가 저기 저 빨간색 글씨부분에 실수를 했습니다.
원래는 static int total=0; 이라고 적었어야 했는데 실수로 static total=0;으로 적어버렸습니다.
근데 제대로 실행이 됩니다;;;;;
그래서 순간 궁금증이 생겼습니다.
제대로 실행이 된 이유와. 저렇게 했을때 문제점이 무엇인지 궁금합니다.
참고로 프로그램은 visual c++ 2010 사용하고 있습니다.