#include <p32xxxx.h>
#include <stdio.h>

void _mon_putc(char c);
void myOutputFunction(char c);

int main (void)
{
    setbuf(stdout, NULL);
    printf("Hello World!");

    while(1);  
}

void _mon_putc(char c)
{
    myOutputFunction(c); // printf() passes each character to write to _mon_putc(), which in turn passes each character to a custom output function
}