void traverse(int len, int a[], int (*f)(int)){ for(int i = 0; i < len; i++){ a[i] = f(a[i]); } } int main(void){ int a[3] = {1,2,3}; traverse(3,a,square); traverse(3,a,timesTwo); return 0; }