#include int main(int argc, char *argv[]) { short x = 2; // **** short int y = 0; y = f(x); // C compiler will assume: int f(int x) // C compiler will convert short x -> int and pass x printf("x = %d, y = %d\n", x, y); } /* --------------------------------------------------- Function f( ) is defined AFTER main's use of f( ) It will work as long as: (1) all parameter types are int or double (2) return type is int --------------------------------------------------- */ int f( short x ) { return(x*x); }