1-8 너무 심한공백 질문이요

seedkin Reply 9 years 34 weeks ago
#include<stdio.h> #include<string.h> #include<ctype.h> int main(void) { int a=0; unsigned char b[256]; int i = 0; while ((a = getchar()) != EOF) { b[i] = a; if (!(isspace(b[i - 1]) && isspace(b[i]) && b[i] != '\n' && b[i - 1] != '\n')) i++; } b[i++] = '\0'; printf("%s", b); return 0; } 소스코드인데요 자꾸 런타임 에러떠요.. 원인이 뭔지 도무지 모르겟어요
booksky Reply 9 years 34 weeks ago
안녕하세요. 조교 이은헌입니다. 런타임에러가 발생하는 이유는, 입력되는 값의 범위가 256바이트를 넘기 때문입니다. 문제에 표시된 예시는 SAMPLE이고 실제로는 길이가 더 긴 값을 입력받아도 제대로 수행되야하기 때문에, 런타임에러가 발생하는 것으로 보입니다.