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 sviene incrementato nel ciclo while, quindi il valore di se isono entrambi 0.
, s++cose brutte e accadranno:)