Hi,
I have been attempting to understand the array example in K&R2, shown below, but I'm not familiar with the line
I can see on running it that it increments the next element of the array when there is a non digit then a digit, but how does this for loop do this?
Code:
/*count digits, white space, others */
#include <stdio.h>
int main()
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for(i=0;i<10;++i)
ndigit[i] = 0; //initialise array
while ((c = getchar()) != EOF)
if(c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite; //increment whitespace counter
else
++nother; //increment other counter
printf("digits =");
for(i = 0;i < 10;++i)
printf(" %d", ndigit[i]); //print array elements
printf(", white space = %d, other = %d\n", nwhite, nother);
}
Thanks
Dave