C语言函数声明的位置的问题

看这个程序:#include<stdio.h>disp(int*n);intmain(){intm[10],i;for(i=0;i<10;i++)m[i]=i;disp(... 看这个程序:
#include <stdio.h>
disp(int *n);
int main()
{int m[10],i;
for(i=0;i<10;i++)
m[i]=i;
disp(m);
getch();
return 0;
}
disp(int *n)
{int j;
for(j=0;j<10;j++)
printf("%3d",*(n++));
printf("\n");

这个程序我能不能把disp函数的声名放在主函数的里面?
我认为可以放在里面,可是放在里面的时候程序就报错,这是为什么啊?

那再看这个函数,这个函数就是add函数放在主函数的里面,但是它却没有问题啊,这到底是怎么回事啊,用户自定义函数到底什么时候能放在主函数里面,什么时候不能放在主函数里面啊?

#include <stdio.h>
void main()
{float add(float x,float y);
float a,b,c;
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
}
float add(float x,float y)
{float z;
z=x+y;
return(z);
}
以上程序我都运行过,没问题,我用的是turbo c 2.0
展开
 我来答
allenhcool
推荐于2018-03-29
知道答主
回答量:5
采纳率:100%
帮助的人:7574
展开全部
如果被引用函数在其他文件中定义的,就在主函数外声明;如果是在该文件中定义的,就应当在主函数中声明。 你的几个函数都是在一个文件中定义的,所以应当在main 中声明
希望对你有用!!
传说哥也寂寞
2009-10-23
知道答主
回答量:50
采纳率:0%
帮助的人:13.4万
展开全部
下面的程序对add函数的定义并没有放在主函数里面,而是在主函数结束以后才定义的。你可以仔细看一下下面的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ningjingrq
2009-10-27
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
你如果把disp函数的声名放在主函数的里面时,前面加一个int或别的类型再编译就对啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-10-31
展开全部
加个INT也不对,C中如果函数你不写返回值类型,他默认的就是整型。
我记得是这样的,1.把子函数放主函数MAIN函数外并且是之前定义,无需声明。2.如果你把子函数放到MAIN函数外,则必须在定义的时候先声明。3.如果把 子函数放在MAIN函数中就不需要提前声明了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胜利者的口吻
2015-06-26 · TA获得超过241个赞
知道答主
回答量:94
采纳率:66%
帮助的人:10.6万
展开全部
迄今为止,c语言的圣经是ANCI C,之前的C编译器有缺陷,之后的C++把好多人都搞疯了,无论你采用什么编译器,关于函数的声明,请听听C语言教父的忠告:‘最好使用新式的函数原型声明方式’。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式