c语言求阶乘函数!

#include<stdio.h>

void main()
{
int a,c;
int abc();
scanf("%d",&a);
printf("%d",abc(a));
}

int abc (int n)
{
if(n<=0) return 1;
else return (n*abc(n-1));
}
提示错误,function does not take 1 parameters怎么修改?

函数的调用少了参数,和函数定义的模型不一样。而且我觉得你最好把函数定义放main前面,或者在main前面写个函数声明。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-10
#include<stdio.h>
int abc (int );
void main()
{
int a,c;
int abc();
scanf("%d",&a);
printf("%d",abc(a));
}

int abc (int n)
{
if(n<=0) return 1;
else return (n*abc(n-1));
}追问

你写错了。。丢了个字母

追答

丢了什么字母? 难道跑不起来?

第2个回答  2014-02-10
将 求阶乘的函数放到main 函数上边,,,,或者在main函数中加一句 "int abc (int n);" 进行函数声明,,函数使用和变量是一样的,,都需要先声明在使用追问

恩,错误是没有了,我就是想放在main后面试试。我改成int abc (int n)后,还有一个警告,你觉得警告在哪?

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网