PDA

View Full Version : [C] problema con espressione


wino_7
22-03-2008, 09:35
Ragazzi potete spiegarmi la semantica di questa istruzione?

ndigit[c-'0']++;

dove "ndigit" è un vettore di int e "c" è un int?

Non riesco a capire se viene incrementato l'indice del vettore oppure non so che !!!!

Chaosottolo
22-03-2008, 09:46
Ma se tu fai così, decrementi l'indice c di una costante carattere (in questo caso 0) ... e poi dopo c'è l'incremento di indice, se non erro :)

lor84
22-03-2008, 09:49
viene incrementato il valore dell'elemento dell'array di indice [c-'0']....

wino_7
22-03-2008, 09:50
ok grazie tanto

wizard1993
22-03-2008, 09:57
capiirò poco di c, ma in quel caso non stai tendando di sottrarre a c un char?

Chaosottolo
22-03-2008, 10:00
capiirò poco di c, ma in quel caso non stai tendando di sottrarre a c un char?

Si ma sottrae il valore del char riferito al codice ascii quindi fa una vera e propria operazione fra interi :)

lor84
22-03-2008, 10:00
capiirò poco di c, ma in quel caso non stai tendando di sottrarre a c un char?

stai sottraendo un c al codice ascii corrispondente al carattere '0' (48)....per cui se l'array è sufficientemente lungo (maggiore o uguale a 48) e lo stesso per c, allora l'operazione sarà corretta....credo

lor84
22-03-2008, 10:02
stai sottraendo un c al codice ascii corrispondente al carattere '0' (48)....per cui se l'array è sufficientemente lungo (maggiore o uguale a 48) e lo stesso per c, allora l'operazione sarà corretta....credo

volevo dire sottrare a c il codice ascii.....pardon ..