2 u012497473 u012497473 于 2014.06.28 11:37 提问

同样的程序.c和 .cpp运行结果不一样?

#include
using namespace std;
int fac(int n)
{
if(n==0) return 1;
else return n*fac(n-1);
}
int main()
{
int m=20,n=5;
double s;
//scanf("%d%d",m,n);
//cin>>m>>n;
s=(double)(fac(m)/(fac(n)*fac(m-n)));
printf("%f\n",s);
return 0;
}

#include
double fac(int n)
{
if(n==0) return 1;
else return n*fac(n-1);
}
int main()
{
int m=20,n=5;
double s;
//scanf("%d%d",m,n);
s=(double)(fac(m)/(fac(n)*fac(m-n)));
printf("%f\n",s);
return 0;
}

这两个运行结果不一样,还有原题是要求输入两个数计算从m个元素中取n个元素的组合数,用scanf后就程序就崩掉了。用cin就好了,但是结果不对。。。寻求热心人帮忙解答一下,先谢谢了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!