yyow3193 发表于 2008-6-20 09:57

总是输出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);
}

爱喝牛奶的猫咪 发表于 2008-6-20 10:55

看不懂


[flash=400,300]http://yzfy.byethost18.com/flash.php?i=1[/flash][color=white]

爱喝牛奶的猫咪 发表于 2008-6-20 10:57

if(n=0)是什么意思?


[flash=400,300]http://yzfy.byethost18.com/flash.php?i=1[/flash][color=white]

漫游者李李西 发表于 2008-6-20 11:11

看不懂,好像是阶乘,但又不是,而且if(n=0)是恒为真的,你是赋值,不是判断。

slokra 发表于 2008-6-20 11:21

是求阶乘运算吧!
if(n=0)应该是if(n==0),0的阶乘是为1的

return(m)  ?? 不知道C里边是否可以这样,好久没写过C了,试一下return m;

yyow3193 发表于 2008-6-20 13:40

if(n=0)0的阶乘是1啊,,,

yyow3193 发表于 2008-6-20 13:42

谢谢了,,原来是if(n==0)写错了,,

yyow3193 发表于 2008-6-20 14:19

[tk02] ..

[[it] 本帖最后由 yyow3193 于 2008-6-20 14:20 编辑 [/it]]

coming 发表于 2008-6-20 21:41

晕,呵呵,这个就是很容易出错的~~~汗~~~

StarWing83 发表于 2008-6-20 21:58

return(m)和return m是一回事儿。
(m)和m的值相同。

jjk8571100 发表于 2008-6-21 01:20

同意5楼和10楼的[tk05]

页: [1]

编程论坛