Questa è una funzione che conta il numero di caratteri in una stringa:
int str_len(const char* s) {
int i = 0;
while(*(s++)) {
i++;
}
return i;
}
Perché questo restituisce la lunghezza corretta?
Diciamo che chiamo questa funzione con una semplice stringa "a"
. Quindi s
viene incrementato nel ciclo while, quindi il valore di s
e i
sono entrambi 0.
, s++
cose brutte e accadranno:)