#include int main( int argc, char *argv[] ) { double a, b; a = 4.0; b = square( a ); // Make implicit function prototype assumption... // GNU C assumes: int square(double) printf("a = %f, b = %f\n", a, b); } // Try chaning the definition of square to: // // double square( double x ) <--- compile error // double square( int x ) <--- compile error // int square( int x ) <===== Compile, but wrong // int square( double x ) <===== product // // and compile... double square( double x ) { double r; // Define a local variable r = x * x; // Statement return ( r ); // Return statement }