14 is exactly the return value of the first printf, also. Probably, the compiler optimized out the call to f() and then we're left with 14 on EAX.
Try compiling your code with different optimization levels (-O0, -O1, -O2, -O3, -Os) and see if the output changes.