这个到底是哪里错了啊



#include<stdio.h>#include<math.h>double fact (int z){ int i; double sum=1; for(i=1;i<=z;i++) { sum*=i; } return sum;}int main(){ double x,eps,Mysinx; int n; printf("请分行输入两个小数\n第一个为sin函数变量\n第二个为误差范围\n"); scanf("%lf%lf",&x,&eps); if(x<0||x>10) printf("x error\n"); else{ for(n=0;fabs(sin(x)-Mysinx)<eps;n++) { Mysinx+=(double)(pow(-1,n)*pow(x,2*n+1))/fact(2*n+1); } printf("%.3lf\n", Mysinx);} return 0;}