무한 함수 호출시 에러가 나네요..
파이팅
2023.04.01
질문 제목 : 무한함수 호출시 오류가 나는 이유가?질문 요약 :무한으로 함수호출시 오류
질문 내용 소스입니다.
#include stdio.h
int a;
void main(){
a++;
printf(%d\n ,a);
main();
}
이걸 실행하면 무한으로 a값이 출력되다가
12414가 되면 에러를 내면서 강제종료 되버리네요.
이게 왜 이러는지...방지법이나 기타 해결법이 없을까요?
-
갤원
참고로 함수 스택 한계는 환경에 따라 다르니 주의해야합니다.
최대 50번정도 타고 내려가는게 스택 한계인 플랫폼도 봤습니다... -
소심한녀자
유용한 덧글 감사합니다.
-
달빛
음....허접한 답벼일수도 있겠습니다.
하지만 재귀 함수 호출같이 계속해서 main() 함수를 호출하고 계시니 프로그램 종료 되는 부분이 없어 스택 오버플로우 나서 죽을거 같습니다. 만약 일정 회수 만큼 박복하셔야 한다면 for문이나 while문을 이용하시는 것이 맞을거 같습니다.