为什么加了赋值语句就得不到正确结果?

#include <stdio.h>
int main()
{
double a,b,c,*result;
result=&c;
scanf("%d%d",&a,&b);

c=divide(a,b,&c);

printf("%f %f",c,*result); 

}

int divide(double a,double b,double *result)
{

return (*result=a/b);

}
如果删去对c赋值,可以得到正确除法的结果,为什么加上了就都归零了?

你这边返回值有问题,是一个等式,估计是给你默认返回0,由于存在指针,所以事实上,你不赋值也是可以得到正确结果的,但你这边c和result是一样的啊,输出语句中c是多余的,函数也不需要返回值,如果想要返回值得出结果的话,不需要使用指针