It seems that printf is only supposed to flush after a newline (or some other criteria). What would be a way to view this in code? For example, I tried the following test, but it seems to flush after each statement (the getchar I am guessing causes it to flush):
int main(void)
{
    printf("Hi");
    getchar();
    printf("OK!\n");
    return 0;
}
Output:
111 PrintF |
           ^
          cursor is here on first `printf`
 
    
