I think I might be digging into this too deep but I am curious if there really is any difference between using fprintf with a variable or not? Other than the memory usage of x in this case.
fprintf(stderr,"%d", 1);
vs
int x = 1;
fprintf(stderr,"%d", x);
1andxare evaluated to the same.