#include #include #include #include typedef int (*myfunc) (int a); int doubleit (int a); int square (int a); int process (myfunc f, int a); int main (int argc, char **argv); char chr (int a); int doubleit (int a) { return 2*a; } int square (int a) { return a*a; } int process (myfunc f, int a) { if (f==doubleit) printf ("Doubling\n"); if (f==square) printf ("Squaring\n"); return f(a); } int main (int argc, char **argv) { int x; srand (time(NULL)); /* printf ("%d\n",process (doubleit,100)); printf ("%d\n",process (square,100)); */ if (rand()%2==0) x = process(doubleit,100); else x = process (square,100); printf ("%d\n",x); printf ("%d\n",process(chr,32)); return 0; } char chr (int a) { return a; }