# 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.

Surbhi Rajput said:   3 years ago
How it can be double?

Janavi said:   3 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.

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

Raj said:   8 years ago
How 36 is double, please explain?

Ishi said:   8 years ago
@D Suresh.

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

Meghana said:   8 years ago
Can anyone explain me how 36.0 is double?

Yogesh tiwari said:   9 years ago

Nishant said:   9 years ago
But when I tried in turbo C it return 0. Why?

Sankari said:   9 years ago
36.0 is double, how it is double can anyone explain me please?

What is double and float?

D SURESH said:   10 years 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.