implizites Casting (4/4)

  char a = 'a', b = 'h', c;
  int i;
  c = a + 1;  // c = 'b'
  c = b - 1;  // c = 'g'
  i = b - a;  // i = 7

  c = 'd';
if ('a' <= c && c <= 'z') c += 'A'-'a';  // ==> c = 'D';

Wie in obigem Beispiel zu sehen ist, lassen sich mit der internen Repräsentation von Zeichen als Zahlen auch Umwandlungen durchführen. Mit 'A'-'a' hat man den Abstand zwischen den beiden Buchstabenblöcken. Wird dieser auf ein Zeichen addiert oder von ihm subtrahiert, kann eine Umwandlung von Klein- nach Großschreibung (und umgekehrt) implemetiert werden. Leider funktioniert das aber nicht für Sonderzeichen, so daß hier komplexere Funktionen notwendig sind.