La sequenza if..printf è questa:
Mi dispiace ma non ti spieghi.

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 ...