Ciao, ho un problema con questo programma:
codice:
#include <stdio.h>
/* conta le cifre, le spaziature e gli altri caratteri */
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);
}
L’output di questo programma, eseguito con il suo stesso testo in input, dovrebbe essere
Cifre = 9 3 0 0 0 0 0 0 0 1, spaziature = 123, altri = 345
Ora, nel mio libro il codice viene indicato come funzionante ma quando provo a complilarlo mi da quest'errore:
-linux:~/Documenti/C$ gcc -o variabili variabili.c
variabili.c:24:13: warning: missing terminating " character
variabili.c: In function ‘main’:
variabili.c:24: error: missing terminating " character
variabili.c:25: error: expected expression before ‘}’ token
variabili.c:25: warning: format not a string literal and no format arguments
variabili.c:25: error: expected ‘;’ before ‘}’ token
Da quel che ho capito il problema è che gli manca un " per chiudere il printif alla fine... quel che non ho capito è invece dove metterlo, ho provato decine di combinazioni ma niente, non parte
Qualche suggerimento? grazie