↓何がおかしい?

#include "smp.h"

main()
{
void USERF(double *,double *,double);
double x0,e;
int n,NMAX;

/*** ステップ1 データの入力 ***/
printf("\n初期値 x0 ");
scanf("\lf",&x0);
printf("\n収束判別計数 v =");
scanf("%\lf",&e);
printf("\n最大反復回数 NMAX = ");
scanf("%d",&NMAX);

/*** ステップ2 ニュートンラフソン法の計算 ***/
S_NEWT(&n,&x0,e,NMAX,USERF);

/*** ステップ3 計算結果の出力 ***/
printf("\n反復回数:N=%d 解:X(N)=%10.7lf",n,x0);
}