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 展开
#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 展开
6个回答
展开全部
下面的程序对add函数的定义并没有放在主函数里面,而是在主函数结束以后才定义的。你可以仔细看一下下面的程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你如果把disp函数的声名放在主函数的里面时,前面加一个int或别的类型再编译就对啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-10-31
展开全部
加个INT也不对,C中如果函数你不写返回值类型,他默认的就是整型。
我记得是这样的,1.把子函数放主函数MAIN函数外并且是之前定义,无需声明。2.如果你把子函数放到MAIN函数外,则必须在定义的时候先声明。3.如果把 子函数放在MAIN函数中就不需要提前声明了。
我记得是这样的,1.把子函数放主函数MAIN函数外并且是之前定义,无需声明。2.如果你把子函数放到MAIN函数外,则必须在定义的时候先声明。3.如果把 子函数放在MAIN函数中就不需要提前声明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
迄今为止,c语言的圣经是ANCI C,之前的C编译器有缺陷,之后的C++把好多人都搞疯了,无论你采用什么编译器,关于函数的声明,请听听C语言教父的忠告:‘最好使用新式的函数原型声明方式’。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询