自定义函数是由用户按需要写的函数。这与库函数相对应的,库函数是由c系统提供的函数,已经定义好了如printf
镇宁网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
、
scanf
、
getchar
、putchar、gets、puts、strcat等函数均属此类。
说白了,自定义函数是是自己写的,想实现什么功能就写什么,然后在用的时候和库函数(系统定义的)的一样调用就是了,相当于自己增加了一个自己的库函数。
#define _CRT_SECURE_NO_WARNINGS
#include stdio.h
//声明一个求和的函数
int sum(int a, int b);
int main(int argc, char* argv[])
{
int x = 5, y = 7;
int s = sum(x, y); //调用函数
printf("x + y = %d \n", s);
system("pause");
return 0;
}
//定义求和函数
int sum(int a, int b)
{
return a + b;
}
更多C语言教程
要在主函数中调用其他函数就在主函数中直接写出你的函数名(如果需要参数的话就传入参数就可以了)看下面voidmain(){tr();//因为你自定义这个函数不需要参数所以直接调用就可以了}其他函数调用也一样,一个函数可以调用另一个函数(不能调用主函数)
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) 函数的功能实现及算法选择。算法选择会在后续文章详细讲解,本节重点关注函数的功能实现。一般选取能体现函数功能的函数名,且见名知意,如求和函数的函数名可取为 add,求最大值的函数名可取为 max,排序函数可取名为 sort 等。2) 需要用户传给该函数哪些参数、什么类型,即函数参数。3) 函数执行完后返回给调用者的参数及类型,即函数返回值类型。 函教定义格式 函数定义的一般格式为: 返回类型 函数名 (类型参数1,类型参数2,…) {函数体 }也可以不含参数,不含参数时,参数表中可写关键字 void 或省略,为规范起见,教程中对没有参数的函数,参数表中统一写 void。例如: 类型 函数名 () {函数体 }等价于: 类型 函数名 (void) //建议的书写方式 {函数体 } 如果该函数没有返回类型,则为 void 类型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 类型外,在函数体中,均需要显式使用 return 语句返回对应的表达式的值。 函教返回值 函数的值是指调用函数结束时,执行函数体所得并返回给主调函数的值。 关于函数返回值说明如下。1) 带返回值的函数,其值一般使用 return 语句返回给调用者。其格式为: return 表达式;或者 return (表达式);例如: int add (int a, int b) {return (a + b); //return 后为表达式 } 函数可以含一个或多个 return 语句,但每次调用时只能执行其中一个 return 语句。例如,求整数绝对值的函数: int f (int n) //含多个return语句,但每次调用只执行一个 {if (n = 0)return n;elsereturn -n; }