Dies ist eine Funktion, die die Anzahl der Zeichen in einer Zeichenfolge zählt:
int str_len(const char* s) {
int i = 0;
while(*(s++)) {
i++;
}
return i;
}
Warum gibt dies die richtige Länge zurück?
Angenommen, ich rufe diese Funktion mit einem einfachen String auf "a". Dann swird in der while-Schleife inkrementiert, daher sind der Wert von sund ibeide 0.
, s++und schlimme Dinge werden passieren:)