# C Programming - Floating Point Issues - Discussion

Discussion Forum : Floating Point Issues - Find Output of Program (Q.No. 4)
4.
What will be the output of the program?
``````#include<stdio.h>
#include<math.h>
int main()
{
printf("%f\n", sqrt(36.0));
return 0;
}
``````
6.0
6
6.000000
Explanation:

printf("%f\n", sqrt(36.0)); It prints the square root of 36 in the float format(i.e 6.000000).

Declaration Syntax: double sqrt(double x) calculates and return the positive square root of the given number.

Discussion:
15 comments Page 1 of 2.

Janavi said:   5 years ago
Generally, the float value will display like six digits after the decimal point so, the output of the above program will be 6.000000 because of √(36.0) =6.000000.

So whenever we have to calculate the sq.root of decimal digits there are always ans is value .000000.

D SURESH said:   1 decade ago
Generally float value will display like six digits after the decimal point so, output of the above program will be 6.000000 because sqrt (36.0) =6.000000.

Ishi said:   10 years ago
@D Suresh.

As you said float value display six value after decimal than, what about double and long double?

Deepak said:   8 years ago
If 36.0 is double then it should give 14 digits of precision then answer would be 6.00000000000000.

But sir, float has only 4 terms after decimal place and there is 6 six terms after decimal?

36.0 is double, how it is double can anyone explain me please?

What is double and float?

Yogesh tiwari said:   1 decade ago

Because.

36.0 is double.

6.0 is float.

So the answer 6.0 is not possible.