红色部分不理解,求解
#include "stdio.h"#include "math.h"
float root(double x,int n){
double x1,x0,f0,f1;
if(x<0.0){
printf("input error\n");
exit (0);}
x0=x/2.0;x1=x;
while(fabs(x0-x1)>1e-6)
{
x0=x1;
f1=pow(x0,n)-x;
f0=n*pow(x0,n-1); /*书本中此部分为f0=n*pow(x0,n-1)-x0为什么,求解;本题是通过牛顿的迭代法来计算x的n次方根,本人通过自己的理解做的编程也能得到正确答案,为什么书中要加上-x0;哪位高手指导下本菜鸟,谢谢啊*/
x1=x0-f1/f0;
}
return (x1);
}
main()
{
double x,f;
int n;
printf("input x and n:");
scanf("%lf%d",&x,&n);
f=root(x,n);
printf("%lf",f);
}