Buongiorno ragazzi, sono un attempato roockie alle prese con il K&R e affrontando il capitolo relativo ai vettori, non capisco da dove salti fuori l'output suggerito dagli autori con l'esempio che propongono, inoltre qui dicono che i possibili tipi di input sono 12, tra cui le dieci cifre.
Ad intuito direi che gli altri due tipi dovrebbero essere "nwhite" e "nother", ma chiedo una vostra conferma, in quanto il libro risulta un po' criptico.
#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;
while ((c = getchar()) != EOF)
if (c>= '0' && c<= '9')
++ndigit[c - '0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
printf("cifre =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", spaziature = %d, altri = %d\n", nwhite, nother);
}
Infatti alla fine del listato trovo scritto che l'output del programma, eseguito con il suo stesso input è:
Cifre = 9300000001, spaziature = 123, altri = 345
Non mi è chiaro come interpretare questi numeri, al momento mi sembra chiaro che il listato non sia composto da 9 miliardi e rotti di caratteri , per il resto, da buon principiante, brancolo nel buio.
Grazie a tutti!