Hallo pl,
Ebenfalls falsch:
char e = "€"; // Quelldatei UTF-8 kodiert
das ist unabhängig von der Zeichenkodierung falsch: ' umgrenzen in C einen (1) char, " eine Zeichenkette, d.h. in deinem Beispiel passen die Datentypen nicht zueinander. Je nach Zeichenkodierung des Quelltexts funktioniert also
char e = '€';
Viele Grüße
Robert