早すぎw
いちおう, 私が書いたのを.

#include<stdio.h>
#include<math.h>

#define EPS (1e-15)

#define x1 3.0
#define x2 4.0

/*
* @param a, b: x1, x2
* @param func: 計算用の関数
*/
double BesectionMethod(double a, double b, double (*func)()) {
double fa, fb;
double tmp;
double x;

do {
tmp = (a + b) / 2.0;
x = sin(tmp);

if ( fabs(x) < EPS ) {
return tmp;
}

if((*func)(a) * x < 0){
b = tmp;
} else {
a = tmp;
}
} while (1); /* infinity */
}

int main(void) {
printf("答え: %lf\n", BesectionMethod(x1, x2, sin));
}