1. #include <stdio.h>
  2.  
  3. int arr[10001] = { 0, };
  4.  
  5. void selfnum(int num)
  6. {
  7.     if (num > 10001)
  8.         return;
  9.     int nextnum = num + 1;
  10.  
  11.     int total = num;
  12.     while (num != 0)
  13.     {
  14.         total += num % 10;
  15.         num = num / 10;
  16.     }
  17.    
  18.     if (total <= 10001)
  19.         arr[total] = 1;
  20.  
  21.     selfnum(nextnum);
  22. }
  23.  
  24.  
  25.  
  26.  
  27. int main(void)
  28. {
  29.  
  30.     int i;
  31.  
  32.     selfnum(1);
  33.  
  34.    
  35.     for (= 0; i < 10001; i++)
  36.     {
  37.         if (arr[i] == 0)
  38.             printf("%d\n", i);
  39.     }
  40.    
  41.  
  42.     return 0;
  43. }


백준 셀프넘버라는 문제인데 디버깅까지 해봤는데 i가 4300 쯤부터 예외처리 뜨면서 종료됨


예외 발생(0x00371729, Project2.exe): 0xC0000005: 0x00690F9C 위치를 기록하는 동안 액세스 위반이 발생했습니다..


포인터 쓰는것도 아니고 걍 전역으로 박아놓고 초기화 해놨는데 에러 도데체 왜뜨는거지