Esatto.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.
Questione di abitudine; programmando da tanto tempo in C++ sono abituato a sapere che il primo elemento ha indice zero.che poi per renderlo più "leggibile" sarebbe stato meglio sommare 1 al risultato,no?
No. L'aritmetica dei puntatori tiene già conto delle dimensioni del tipo.Fa solo una sottrazione perché sono char, giusto? se no avrebbe dovuto dividere il risultato per sizeof(tipo)?