函数非法定义是什么回事?c语言
#include<stdio.h>voidmain(){intn;doubles=1;printf("inputanum");scanf("%d",&n);doublef...
#include<stdio.h>
void main()
{
int n;
double s=1;
printf("input a num");
scanf("%d",&n);
double fun(int n);
s=fun(n);
printf("%f",s);
double fun(int n)
{double s=1,j=1,k=o;
int i;
for(i=2;i<=n;i++)
{ j=j+i;
k=1.0/j;
s=s+k;}
return s;
}
}
运行出错,什么fun函数非法定义,但把double fun函数放到main函数前就可以,问题究竟出现在哪里?解决方法呢?谢谢! 展开
void main()
{
int n;
double s=1;
printf("input a num");
scanf("%d",&n);
double fun(int n);
s=fun(n);
printf("%f",s);
double fun(int n)
{double s=1,j=1,k=o;
int i;
for(i=2;i<=n;i++)
{ j=j+i;
k=1.0/j;
s=s+k;}
return s;
}
}
运行出错,什么fun函数非法定义,但把double fun函数放到main函数前就可以,问题究竟出现在哪里?解决方法呢?谢谢! 展开
5个回答
展开全部
函数调用前需要声明,或者将函数的定义放在它被调用的前面:
double fun(int); //声明
int main()
{
fun(2);//调用
}
double fun(int n) //定义
{
....
}
或则
double fun(int n) //定义
{
....
}
int main()
{
fun(2);//调用
}
同时:不能将一个函数定义在一个函数内部。
double fun(int); //声明
int main()
{
fun(2);//调用
}
double fun(int n) //定义
{
....
}
或则
double fun(int n) //定义
{
....
}
int main()
{
fun(2);//调用
}
同时:不能将一个函数定义在一个函数内部。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数和变量一样,也是先定义后使用的,在主函数内不能定义别的函数,只能在主函数前定义,主函数中使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-12-07
展开全部
C语言不允许定义子函数,也就是不允许在函数内部再定义另一个函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我怎么没听说过有子函数这么个东西啊??
函数就函数。而且你这么说的不明不白的,堆栈信息和错误报告贴一下
函数就函数。而且你这么说的不明不白的,堆栈信息和错误报告贴一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询