Originariamente inviato da W_As
Stanotte credo di aver avuto l'illuminazione.
In pratica abbiamo che: 'q' è allocata , per esempio, alla posizione 100, 'u' alla 101 ecc.
il puntatore che torna la funzione punta a 'u', quindi a 101, mentre quello che punta all'inizio della stringa ha valore 100. 101-100=1.
Esatto.
che poi per renderlo più "leggibile" sarebbe stato meglio sommare 1 al risultato,no?
Questione di abitudine; programmando da tanto tempo in C++ sono abituato a sapere che il primo elemento ha indice zero.
Fa solo una sottrazione perché sono char, giusto? se no avrebbe dovuto dividere il risultato per sizeof(tipo)?
No. L'aritmetica dei puntatori tiene già conto delle dimensioni del tipo.