Oliver R. schrieb:
> lcdouts ("INIT:"EINZEICHEN); # Fehler
Der Preprozessor hat damit an sich erstmal nichts zu tun. Er macht aus
dem obigen folgendes:
1 | lcdouts ("INIT:"'a'); # Fehler
|
und das ist nicht zulässig. Man kann zwar zwei Strings konkatenieren,
etwa in der Art:
aber nicht einen String und einen int ('a' ist vom Typ int).
Wenn du aber "a" statt 'a' schreibst, geht das hier natürlich nicht
mehr:
Oliver R. schrieb:
> zeichen = EINZEICHEN;
Du könntest dann höchstens schreiben:
aber das finde ich eher unschön.
Markus M. schrieb:
> Du kannst mit dem Preprozessor nur steuern was Kompiliert werden soll
> aber nicht den Programmablauf beeinflussen.
Ich sehe nicht, daß er irgendwo einen Programmablauf steuern will,
sondern lediglich ein zur Compilezeit vorgegebebes Zeichen an einen
ebenfalls zur Compilezeit vorliegenden String anhänhen will, und das
vermutlich ohne diese Aktion erst umständlich zur Laufzeit machen zu
müssen.