サブ関数間の相互呼び出し

1244 ワード

        :

double f1(int n, double a[], double x){}     1

double Get_Run_Time(double (*f)(int, double *, double)){    2
     (*f)(MAX, a, 1.1);
}

printf("Run time of f1: %.2e sec

", Get_Run_Time(f1));//main

 

    printf("Run time of f1: %.2e sec

", Get_Run_Time(f1));// f1 printf("Run time of f2: %.2e sec
", Get_Run_Time(f2));// f2 double f1(int n, double a[], double x) { int i; double p = a[0]; for(i = 1; i <= n; i++){ p += a[i] * pow(x, i); } return p; } double f2(int n, double a[], double x) { int i; double p = a[n]; for(i = n; i > 0; i--){ p = a[i - 1] + x * p; } return p; } double Get_Run_Time(double (*f)(int, double *, double))// , , { clock_t start, stop; int i; start = clock(); for(i = 0; i < 100000; i++){ (*f)(MAX, a, 1.1); } stop = clock(); //printf("%f
%f
", (double)start, (double)stop); // : clock_t , double return (double)(stop - start) / CLOCKS_PER_SEC / 100000; // CLOCKS_PER_SEC 1000 }