Home » C Programming » Floating Point Issues

What will be the output of the program? #include int main() { float f=43.20; printf("%e, ", f); printf("%f, ", f); printf("%g", f); return 0; }

Correct Answer: 4.320000e+01, 43.200001, 43.2

Explanation:

printf("%e, ", f); Here '%e' specifies the "Scientific Notation" format. So, it prints the 43.20 as 4.320000e+01.


printf("%f, ", f); Here '%f' specifies the "Decimal Floating Point" format. So, it prints the 43.20 as 43.200001.


printf("%g, ", f); Here '%g' "Use the shorter of %e or %f". So, it prints the 43.20 as 43.2.


← Previous Question Next Question→

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion