c - Why does the `sqrt()` print the desired output when I use `float`s instead of `double`s? -


#include <stdio.h> #include <math.h>  double hypotenuse( double side1, double side2 );  int main( void ) {     double a, b;      printf( "enter values of 2 sides: " );     scanf( "%f %f", &a, &b );     printf( "\nthe length of hypotenuse is: %f", hypotenuse( a, b ) );         getchar();     getchar();     return 0; }  double hypotenuse( double side1, double side2 ) {        double c;         c = (side1 * side1) + (side2 * side2);        return sqrt( c ); } 

the above program works when use float a, b; instead of double a,b;. why?

in code, use

scanf( "%f %f", &a, &b ); 

but %f used float ,not double. try %lf double.


Comments

Popular posts from this blog

Payment information shows nothing in one page checkout page magento -

tcpdump - How to check if server received packet (acknowledged) -