연습 1.13b 숫자 수직 히스토그램 세그먼테이션 폴트

Churing Reply 7 years 33 weeks ago
main() { int c, i = 0, j, highest, A[1000], digits[10] = {0,}; while ((c = getchar()) != EOF) A[i++] = c; for (i = 0; A[i] != EOF; i++) for (j = 0; j < 10; j++) if (A[i] == '0' + j) digits[j]++; highest = digits[0]; for (i = 1; i < 10; i++) if (highest < digits[i]) highest = digits[i]; for (i = highest; i > 0; i--){ for (j = 0; j < 10; j++){ if (i <= digits[j]) printf("*"); else printf(" "); } printf("\n"); } printf("----------\n0123456789"); } Dev-C로 컴파일하고 실행하면 원하는 대로 작동하는데 웹사이트에 제출하면 런타임에러가 나오는데 왜 그러는 건가요? ㅜㅜ
withcs1 Reply 7 years 33 weeks ago
처음 문자를 받을 때 EOF를 받기 전까지만 A배열에 넣으라고하셨는데 다음 for문에서 EOF를 찾으면서 문제가 발생하는거 같네용