Показать сообщение отдельно

  #1  
Старый 02.05.2010, 16:03
Jino
Новичок
Регистрация: 27.09.2007
Сообщений: 22
Провел на форуме:
10910

Репутация: 0
По умолчанию

Программа, подсчитывающая количество слов в потоке с опеределенной длиной.

Цитата:
#include <stdio.h>
#define IN 1
#define OUT 0

main()
{
int c, size, state = 0;
int a[10];

while ((c = getchar()) != EOF)
{
if (c == ' ' || c == '\n' || c == '\t')
{
state = OUT;
++a[size];
if (size >= 9) ++a[9];
size = 0;

}
else if (state == OUT) state = IN;

if (state == IN)
{
++size;
}

}
}
Выдает ошибку сегментации.
Если закоментировать строку
Цитата:
++a[size];
то ошибка не возникает.
В чем проблема?
 
Ответить с цитированием