Я пытаюсь понять, как это работает (я знаю, что это делает, я просто не понимаю, как).
Насколько я знаю, это читает символ, пока не будет достигнут EOF, и если это цифра, поместите его в массив:
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
Я понимаю, что могу индексировать массив следующим образом:
some_array[1] = 12;
, который поместит 12 во второй элемент.
Что делает c-'0'
?
(я получил это из книги «Язык программирования C, второе издание от K & R»)