001
09.10.2007, 20:46 Uhr
0xdeadbeef
Gott (Operator)
|
Das funktioniert nur dann, wenn s ein Makro a la
ist, damit expandiert das zu
C++: |
puts("init: " "foo");
|
...und das kann der Compiler locker zusammensetzen (auch in mehreren Zeilen, was übrigens der Hauptanwendungszweck dafür ist).
Mit + wird daraus ne Zeigeraddition, das landet irgendwo im Nirvana und wird dir mit aller Wahrscheinlichkeit nen Segfault erzeugen. Mit variablen Strings empfiehlt sich an der Stelle die Verwendung von printf, a la
C++: |
char const *s = "foo";
printf("init: %s\n", s);
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |