Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save YuehChuan/2b7eebc5e59c3ba1090194acea6e867b to your computer and use it in GitHub Desktop.
Save YuehChuan/2b7eebc5e59c3ba1090194acea6e867b to your computer and use it in GitHub Desktop.
functionPtr
#include <stdio.h>
#include <stdlib.h>
//function pointer
typedef int (*MathMethod)(int, int);
int Mul(int a, int b) { return a*b; }
float Divide(int a, int b) { return a/b; }
int Minus(int a, int b) { return a-b; }
int Add(int a, int b) { return a+b; }
int *Calc(int x, int y, MathMethod Opt){
return Opt(x, y);
}
int main()
{
int a = 6, b = 4;
printf("a x b = %d\n", Calc(a, b, Mul));
printf("a / b = %d\n", Calc(a, b, Divide));
printf("a + b = %d\n", Calc(a, b, Minus));
printf("a - b = %d\n", Calc(a, b, Add));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment