Man and Mystery
2013-04-10 19:46:17 UTC
//bufferout.c
#include
int main(void) {
fprintf(stdout, "a");
fprintf(stderr, "a has been written\n");
fprintf(stdout, "b");
fprintf(stderr, "b has been written\n");
fprintf(stdout, "\n");
return 0;
}
with output of: "a has been written
b has been written
ab"
//bufferinout.c
#include
int main(void) {
int i;
fprintf(stdout, "a");
scanf("%d", &i);
fprintf(stderr, "a has been written\n");
fprintf(stdout, "b");
fprintf(stderr, "b has been written\n");
fprintf(stdout, "\n");
return 0;
}
with output of: "a"
can anyone tell me what is happening?