【发布时间】:2019-12-12 13:02:30
【问题描述】:
我的计算 n 阶乘的函数不起作用。没有执行任何打印语句,即使它们测试了所有可能的 n 值。
我做错了什么?
long int factorial(int n) //function to find factorial
{
int i=1;
long int p=1;
if(n=0)
{
printf("1");
}
if(n>0)
{
for(i=1;i<=n;i++)
{
p *=i;
}
printf("%ld",p);
}
if(n<0)
{
printf("Error");
}
}
我也试过了
p = p*i; //instead of p *=i;
这似乎也不起作用。 我无法确定我的错误在哪里。
【问题讨论】:
-
不是返回一个数字,而是打印一个数字而不返回任何内容。
-
=是分配。==是比较。 -
您预计会发生什么?真的会发生什么?只是说有一些“错误”并不能告诉我们太多。请花一些时间阅读有关how to ask good questions 和this question checklist 的信息。另外请尝试创建一个minimal reproducible example 向我们展示,并说明您遇到的问题。
-
近距离投票者:这怎么跑题了?
=与==的使用和区别对于 [c] 来说非常重要
标签: c math combinations