Home » C Programming » Floating Point Issues

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

Correct Answer: 2.250000e+000, 2.250000, 2.25, 2.250000

Explanation:

printf("%e,", d); Here '%e' specifies the "Scientific Notation" format. So, it prints the 2.25 as 2.250000e+000.


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


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


printf("%lf,", d); Here '%lf' specifies the "Long Double" format. So, it prints the 2.25 as 2.250000.


← Previous Question Next Question→

Discussion & Comments

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