Home » C Programming » Floating Point Issues

What will be the output of the program? #include #include int main() { float n=1.54; printf("%f, %f\n", ceil(n), floor(n)); return 0; }

Correct Answer: 2.000000, 1.000000

Explanation:

ceil(x) round up the given value. It finds the smallest integer not < x.
floor(x) round down the given value. It finds the smallest integer not > x.


printf("%f, %f\n", ceil(n), floor(n)); In this line ceil(1.54) round up the 1.54 to 2 and floor(1.54) round down the 1.54 to 1.


In the printf("%f, %f\n", ceil(n), floor(n)); statement, the format specifier "%f %f" tells output to be float value. Hence it prints 2.000000 and 1.000000.


← Previous Question Next Question→

Discussion & Comments

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