Es posible que alguien me pueda explicar la declaración comentada en el siguiente código, Gracias.
Código C:
Ver original#include <stdio.h>
int main(int argc,char *argv[]){
int i,j;
char eleccion;
int proceso (int (*)(int,int)); //prototipo... de la función que no entiendo
int multip (int,int);
int divicion (int,int);
printf("Elige M(6*3) o D (6/3):"); if (eleccion=='M') i=proceso (multip);
else i=proceso (divicion);
printf ("El resultado es: %d\n",i
); return 0;
}
int proceso (pf) int (*pf)(int,int);{ /*El punto y coma junto con la falta de un paréntesis global es lo que mas me confunde. y no veo a simple vista la igualdad del prototipo D:*/
int a=6,b=3,c;
c=(*pf)(a,b);
return c;
}
int multip(int a,int b){
return(a*b);
}
int divicion(int a,int b){
return (a/b);
}