当前位置: 代码迷 >> C语言 >> 总是输出a!=1245056怎么回事啊
  详细解决方案

总是输出a!=1245056怎么回事啊

热度:320   发布时间:2008-06-20 09:57:22.0
总是输出a!=1245056怎么回事啊
int fun(int n)
{int m;
if(n=0)
m=1;
else
{if(n>0)
m=n*fun(n-1);
}
return(m);
}
#include "stdio.h"
main()
{int fun(int n);
int a,b;
printf("shuru:\n");
scanf("%d",&a);
b=fun(a);
printf("a!=%d",b);
}
搜索更多相关的解决方案: 输出  

----------------解决方案--------------------------------------------------------
看不懂


[flash=400,300]http://yzfy.byethost18.com/flash.php?i=1[/flash][color=white]
----------------解决方案--------------------------------------------------------
if(n=0)是什么意思?


[flash=400,300]http://yzfy.byethost18.com/flash.php?i=1[/flash][color=white]
----------------解决方案--------------------------------------------------------
看不懂,好像是阶乘,但又不是,而且if(n=0)是恒为真的,你是赋值,不是判断。
----------------解决方案--------------------------------------------------------
是求阶乘运算吧!
if(n=0)应该是if(n==0),0的阶乘是为1的

return(m)  ?? 不知道C里边是否可以这样,好久没写过C了,试一下return m;
----------------解决方案--------------------------------------------------------
if(n=0)0的阶乘是1啊,,,
----------------解决方案--------------------------------------------------------
谢谢了,,原来是if(n==0)写错了,,
----------------解决方案--------------------------------------------------------
..

[[it] 本帖最后由 yyow3193 于 2008-6-20 14:20 编辑 [/it]]
----------------解决方案--------------------------------------------------------
晕,呵呵,这个就是很容易出错的~~~汗~~~
----------------解决方案--------------------------------------------------------
return(m)和return m是一回事儿。
(m)和m的值相同。
----------------解决方案--------------------------------------------------------
  相关解决方案