C语言基础(第三更)
函数及其使用
有时程序中会经常使用实现同一功能的代码,为了方便,将此段代码封装成函数,需使用即可直接调用
定义方式
方式一
直接在主函数前面给出定义及其解释
//示例1:
void Name(/*参数*/){
//方式
return ;
}//该函数返回值为空,一般为操作函数
int Name2(/*参数*/){
//方式
return x;//x是int型
}//该函数返回值是int型整数,一般为计算函数
//函数根据实际需要确定返回值类型,也可以没有
//返回值类型可是任意的
方式二
先定义头部,然后在主函数后面给出解释
//示例2:
#include<stdio.h>
void Name(/*参数*/);//函数头部
int main(){
return 0;
}
void Name(){
//方式
return ;
}//对函数进行解释
参数传递
一般有两次传递(传入参数和传出返回值)返回值用对应数据类型的数据接收,也可直接输出
注意,如果传入的参数在运算时改变了值,原来的数据不会受到任何影响
//示例
#include<stdio.h>
int f(int a){
a++;
return a;
}
int main(){
int a;scanf("%d",&a);
printf("%d\n",a);
int b=f(a);
//实现参数传递和返回值传出
printf("%d\n",b);
printf("%d\n",a);
return 0;
}
调用
函数写好后可在需要的地方调用
注意:主函数(main)不能被调用但是主函数可调用其他任何函数,其他函数可以相互调用
普通调用
//示例
#include<stdio.h>
int f(int a,int b){
return a+b;
}
int main(){
int a,int b;
scanf("%d%d",&a,&b);
printf("%d\n",f(a,b));
return 0;
}
递归调用
函数自己调用自己
//示例(计算n!)
#include<stdio.h>
long f(int a);
int main(){
int n;
scanf("%d",&n);
long ans=f(n);
return 0;
}
long f(int a){
if(a==1)return 1;
else return a*f(a-1);//自调用
}
喜欢就点个赞再走呗