...und falls die Abgrenzung damit nicht eindeutig sein sollte,
erinnert man sich daran, daß C89's Ausweg daraus das Zusammenhängen
nebeineinanderstehender Strings zu einem ist:
const char *foo = "Der Abstand zwischen "
"\xb5" "1 und \xb5" "2 betr\xe4gt: %f";
(\xb5 -> µ)
Wenn man "\xb51" schreiben würde, wäre das (wide) char mit dem Wert
0xb51 gemeint, was ja nicht ganz das ist, was man haben möchte. Eine
ähnliche Vorgehensweise muß man prinzipiell auch bei Oktalzeichen
machen, allerdings ist dort die mögliche Kollision mit den
nachfolgenden Zeichen seltener. Es ist aber eine irrige Annahme, daß
oktal angegebene Zeichen immer mit exakt drei Stellen angenommen
würden und danach automatisch beendet sind. Kann sein, daß das im
pre-C89 mal so war (,,K&R C'').
Außerdem kann man natürlich das Sonderzeichen direkt in das string
literal schreiben, dann muß nur die Codierung des Entwicklungssystems
(bzw. dessen Editors) mit der des Zielsystems (des LCD in diesem
Falle) übereinstimmen. Das ist bei vielen Unixen im Falle des LCD
gegeben, bei Windows hängt es sicher von der Umgebung ab, da dort von
MS-DOS CP437/850 über ,,ANSI'' (alias ISO 8859-1) bis zu UTF-8 alles
der Fall sein kann.