Was mich an deiner Variante interessieren würde, warum kann ich in eine intVariable einen Char schreiben??
Ein char besteht aus 8Bit, ein int aus 16Bit. In einem char kannst du also Zahlen im Bereich von 0 bis 255 darstellen. Jedes Zeichen (z.B. 'A' oder 'r') ist einer Zahl in diesem Bereich zugeordnet. In ein int passen größere Zahlen, aber natürlich auch wieder alle aus einem char. Also kannst du die Zahl aus einem char in ein int schreiben. Ein int hat einen größeren Wertebereich als ein char.