[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