俄罗斯乌克兰战争死了:请大家帮我看段简单的c代码

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 14:37:16
请大家帮我看段C代码,为什么不显示结果呢?pmnl函数为什么返回值不成功?
#include <stdio.h>
#include <math.h>

long double facto(int x)
{
if(x==1)
return(1);
else
return(x*facto(x-1));
}

double Pmnl(int l,int m,int n,double x)
{
if(l==0,m==0,n==0)
return 1;
else if(l==1,m==-1,n==-1)
return 1.0/pow(2.0,(double)l)/(double)facto(l-m)*sqrt((double)(facto(l-m)*facto(l+n)/facto(l+m)/facto(l-n)))*pow((double)(1-x),(double)(m-n)/2.0)*pow((double)(1+x),(double)(-n-m)/2.0)*2.0;
else
return 0;
}

main()
{
int l=1,m=-1,n=-1;
double x=0.1;
printf("%f\n",Pmnl(l,m,n,x));
}

将下面的两条语句
if(l==0,m==0,n==0)
else if(l==1,m==-1,n==-1)
改为
if(l==0&&m==0&&n==0)
else if(l==1&&m==-1&&n==-1)
原因是逗号表达式,它只去最后一个值。