C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数
自定义函数分为四种
第一种:无参无返回值的
函数的声明
void sayH();
函数的实现
void sayH(){ printf("你好");}
第二种:有参数无返回值
函数的声明:
void pxsbx(int c,int k);
函数的实现:
void pxsbxx(int c,int k){ int i,j; for (i=0; i
函数的调用
int c,k; printf("请输入长:"); scanf("%d",&c); printf("请输入宽:"); scanf("%d",&k); pxsbxx(c, k);
运行结果
3,有参数有返回值
声明:
int add1(int num1,int num2,int num3);
实现
int add1(int num1,int num2,int num3){ int sum=num1+num2+num3; return sum;}
调用
int num1,num2,num3,sum; scanf("%d%d%d",&num1,&num2,&num3); sum=add1(num1, num2,num3); printf("%d",sum);
效果
第四种:有参数无返回值
声明
void add(int num1,int num2);
实现
void add(int num1,int num2){ int sum=num1+num2; printf("%d\n",sum);}
二,递归函数(两个简易的递归调用)
1,阶乘
函数的声明
int MyFun(int num);
函数的实现
int MyFun(int num){// 普通函数// int sum1=1;// for (int i=1; i<=num; i++) {// sum1*=i;// }// return sum1; // 递归调用 if (num==1||num==0) { return 1; }else { return num*MyFun(num-1); }}
调用
printf("sum=%d\n",MyFun(6));
运行效果
2,菲波那切数列数列
函数的声明
int fbsnq(int num);
函数的实现
int fbsnq(int num){ // 递归 if(num==1||num==2){ return 1; } return fbsnq(num-1)+fbsnq(num-2); //普通// int n1=1,n2=1,temp=0;// if (num==1||num==2) {// return 1;// }// int i=2;// for(;i
函数的调用
for (int i=1; i<=30; i++) { if ((i-1)%5==0) { printf("\n"); } printf("%10d", fbsnq(i)); } printf("\n\n");
运行结果