请问c语言程序运行出现结果p=-1.#IND00是怎么回事,,有好几次出现这样的情况了

#include<stdio.h>floatfun(intm,intn){doublesum1=1,sum2=1,sum3=1;inti,j,k;doublep;for(... #include <stdio.h>
float fun(int m, int n)
{
double sum1=1,sum2=1,sum3=1;
int i,j,k;
double p;
for(i=1;i<=m;i++)
sum1=sum1*i;
for(j=1;j<=n;j++)
sum2=sum2*j;
for(k=1;k<=m-n;k++)
sum3=sum3*k;
p=sum1/(sum2*sum3);

}
main() /* 主函数 */
{void NONO ();
printf("P=%f\n", fun (12,8));
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, m, n ;
float s;
fp = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%d,%d", &m, &n);
s = fun(m, n);
fprintf(wf, "%f\n", s);
}
fclose(fp);
fclose(wf);
}
展开
 我来答
songyuncen
2012-03-22
知道答主
回答量:1
采纳率:0%
帮助的人:1647
展开全部
这是一个NAN(not a number)数,代表你的计算出现错误,常见的是除零之类的错误。

参考资料: http://baike.baidu.com/view/409924.htm

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiconysun
2012-03-22 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2594万
展开全部
应该是除数为0造成的溢出
追问
就是这个函数运行时出现刚才那样的问题,,请帮我改改!!!
追答
float fun(int m, int n)
的最后一行加入:return p;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式