ESP8266 Serial.print() and printf() generate different outputs

I'm struggling with the output of Serial.print() and printf() output. Im programming a ESP8266 and the code see link is a peace that controls my wifi connection. The code is executed at startup and outputs the WIFI networks its sees and the status ones connected to one of the selected networks. The problem I have is with Serial.print("Link Status: \t\t "); and the printf("Link Status: \t\t "); lines in the case WL_DISCONNECTED: code block. Depending on which line I compile I have different outputs!!! I hope there is some one who can tell me why and what can be done about it.

ESP8266 code of Serial.print() and printf() generate different outputs

The example (last block) with printf() produces for some reason a CRLF after the "Link Status" generating the ".6.6.6.3". The first example based on Serial.print() doesn't do this and slows a nice in line output I have experimented with mixing Serial.print and printf() and they generate different layouts. If I switch over to only printf() based out put the output as indicated in the first block nice in line seems impossible. Can someone tell me what the problem is that screws up my printf() output. Why does printf and Serial print generate different print layouts.

I hope some one can help me forward on this.
Thanks Oscar Goos

buffered and not buffered output is mixed