重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在使用一个函数之前必须先对他进行声明:
创新互联专注于朝阳企业网站建设,成都响应式网站建设公司,商城网站定制开发。朝阳网站建设公司,为朝阳等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
//void B();声明B函数的存在。void A(){B();//非法,程序执行到此时并不知道B函数的存在。}void B(){}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
扩展资料
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
if(fa(n)==1)
printf("n");
else
printf("y");
system("pause");
exit(0);
}
参考资料:百度百科 - C语言函数
显然提问者没有搞清楚 函数 声明和定义 这两个概念
第一行void abc(void); 是声明,不是定义,因为没有函数体,只是告诉Main函数,你要调用的abc函数是有的,定义在后面
Main函数中的abc函数是调用,调用当然可以多次使用,函数的作用也在于此,一次定义,多次调用,体现代码复用的好处
最后void abc(void){ …… } 到结束,是定义了,说明函数干什么的
ky 写 abc函数里 是推荐的方式,成为局部变量,函数调用完后,ky可被系统释放内存
ky不能写在Main函数里,abc将无法访问其他代码块(花括号内)的局部变量
ky可以写在最外面,即不在任何代码块内,且要写最顶行(建议),这样后续的函数都可以访问该(全局)变量,但一般建议不要过多使用全局变量
1.函数中的return语句是用来获得函数的返回值的,通过它将被调函数的中一个确定值带回主函数,供主函数使用。
2.定义函数的类型是一般应该与return语句的返回值的类型一致。如果不同,则以函数类型为准。
看看这个题(编写函数求Fibonacci级数)
#include "stdio.h"
int fib(int n)
{
int z;
if(n=0) printf("有误");
else
if(n==1||n==2) z=1;
else
z=fib(n-1)+fib(n-2);
return(z);
}
void main(){
int n,i;
for(n=1,i=0;n=100;n++){
{printf("%10d ",fib(n));
i++;}
if(i%5==0) printf("\n");}
}
定义一个函数我们需要确定以下内容:
1、函数的返回值类型
2、函数的名称
3、函数的参数
4、函数主体代码块
示例代码:
int definePlus(int a, int b)
{
a = a + 1;
b = b + 1;
return a + b;
}
例如上面代码中就定义了一个返回值为int类型的函数,其函数名为definePlus,一对小括号中的内容为这个函数的参数,也就是说这个函数有两个传入参数int a和int b。
在函数体内,分别让a在原来的基础上加1,让b在原来的基础上加1,然后使用return关键字返回a + b的和。如果a的值是2,而b的值是3,那么这个函数的返回值则是7。
扩展资料
函数的调用与声明
如果函数的定义是在调用函数的后面则需要在调用之前声明函数的定义,否则不需要事先声明。声明的意思是告诉编译器,这个函数的返回值类型、函数名和参数。
在调用一个函数时,需要向这个函数传其需要的参数,例如a和b这两个变量,并可以指定另一个变量用于接收这个函数执行后的返回值,比如变量c就接收了函数wrongplus()的返回值,结果为7。
但是我们看到程序的运行结果是 2 + 3 = 7,也就是说,执行了函数wrongplus()后,我们虽然对函数内的参数变量分别加1,但主函数main中的a和b的值并没有发生变化。示例代码:
#include stdio.h
main()
{
int a = 2, b = 3;
int c;
int wrongplus(int a, int b);
c = wrongplus(a, b);
printf("%d + %d = %d\n",a, b, c);
}
int wrongplus(int a, int b){
a = a + 1;
b = b + 1;
return a + b;
}
2 + 3 = 7
可以的,前提是,在使用一个函数之前必须先对他进行声明:
//void B();声明B函数的存在。
void A()
{
B();//非法,程序执行到此时并不知道B函数的存在。
}
void B()
{
}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
扩展资料
从函数定义的角度看,函数可分为库函数和用户定义函数两种。
(1)库函数
由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类。
(2)用户定义函数
由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。