Verständnissfrage buchst[tolower(zeich)-'a']++;



  • hi,
    ich komm einfach nicht drauf was folgende konstruktion macht, mein verständnis soweit ist, tolower gibt wenn es einen Grossbuchstaben erhält ihn als Kleinbuchstaben zurück und wird dann subtrahiert mit dem wert 'a' ? Wie der Kleinbuchstabe von tolower mit einem zahlenwert subtrahiert werden !?

    buchst[tolower(zeich)-'a']++;
    


  • 'a'-'a' = 0
    'b'-'a' = 1
    'c'-'a' = 2

    usw...

    Jeder Buchstabe wird intern ja durch einen Zahlenwert dargestellt.
    'a' hat den Wert 97, 'b' 98, usw..

    Damit "generierst" du dir einen Index für dein Array, das ja mit 0 und nicht mit 97 startet.


Anmelden zum Antworten