>>271
なんで double *y3 = (double *)malloc(sizeof(double));  ?

double kinji(double x1, double y1, double x2, double y2, double x3)
にして 値を返した方がいいよ。 
例え double型が構造体でも返せるから