int var1 = 10;
const char* msg0 = "Var1 = ";
Serial.println(msg0); // kein Problem
const char* msg1 = "Var1 = "+ var1;
Serial.println(msg1); // undefiniertes Verhalten
const char* msg2 = "Ein langer Text, Var1 = "+ var1;
Serial.println(msg2); // liefert " Text, Var1 = "
c/c++ erlaubt viel Unsinn. Dies ist ein schönes Beispiel.
Wer denkt, das + Zeichen würde zwei Texte zusammenketten, hat sich geschnitten.
Wer darüber hinaus denkt, eine Zahl würde, damit das passiert, heimlich in einen zweiten Text verwandelt, ist naiv.
Wer sich gar nichts dabei denkt, sollte doch lieber mit python auf dem raspberry spielen.
Es gibt (leider) Gründe, warum die Zeilen oben keinen Compilier-Fehler produzieren.
Und das 3. Beispiel sollte erläutern, was es mit dem + eigentlich auf sich hat. ![]()