[Tech] C
Michele Dionisio
dionisio@fol.it
Dom 11 Mar 2001 08:53:49 CET
Ombra Rossa wrote:
>
> Salve,
> sto studiando C con il libro:
> Il linguaggio di programmazione C di Brian W. Kernighan e Dennis M. Ritchie
> e ho trovato cose che non capisco gia' nel primo capitolo:
> Sessione 1.6 ARRAY pag 23 (nella versione in spagnolo) si usa un array di 10
> interi e due variabili per analizare i numeri gli spazi bianchi e i
> caratteri dell'input.
> Finqui' tutto ok, pero' nel prog dice:
> if(c >= '0' && c <= '9')
> ++ndigit[c-'0'];
> .....?????
> Domande:
> 1)perche' poner c >= '0' e non c >= 0 se c e' un intero da 0 a 9???
> 2)perche' ponere [c - '0'] invece che [c-0] ???
> 3)Se c e' un numero tra 0 e 9 8struttura if), perche' ponere un indice per
> ndigit complicato come [c - '0'] invece che una cosa semplice come [c]???
> Spero che le domande non siano troppo stupide. Grazie.
> Ombra.
Mi hanno appena fregato il MANUALE di Kernighan e Ritchie perņ posso
comunque dirti che in c c'č un carattere!!! Se controlli per esempio sul
codice ASCI noterai che i numeri 0..9 non sono posizionati alla
posizione 0..9 perņ sono comunque uno di seguito all'altro quindi per
convertire un carattere numerico in un numero basta appunto togliere il
valore corrispondente al carattere 0 ( e quindi ecco spiegato -'0').
--
Michele Dionisio
email: dionisio@fol.it
ICQ: 62217050
Maggiori informazioni sulla lista
flug-tech