Mi dispiace ma non ti spieghi.La sequenza if..printf è questa:
Dove sta la chiamata a printMessage? Mostra il main o la funzione completa in cui chiami la printMessage.
Considera che tu hai "chiaro" quello che stai facendo ma da quest'altra parte del forum non si sa nulla dei messaggi ricevuti, copiati e reinviati ...