Hey I m reading K&R but this code there some stuff in it whish i dont understand it suppose to be an space counter and num from 0 to 9 thingy so please anyone help thanks
Code:
#include <stdio.h>
/* count digits, white space, others */
int main(void)
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n",nwhite, nother);
return 0;
}
i dont understand this line
++ndigit[c-'0'];
why did he do c-'0'
i have read K&R carefully but still didnt understand why did he do that