注:①函数把实现一定功能的语句集中在一起,使得要使用时方便调用实现某一功能。
②函数前加void表示只实现语句而不返回变量,返回类型为空。
③使用return来返回函数需要传回的数据。
④main函数返回0的意义在于告知系统程序正常终止。
有参函数:
#include<stdio.h>
int judge(intx)//返回类型是int,return后的数据类型需要与此相同
{if(x>0) return 1;
else if(x==0)
return 0;
else return -1;}
int main(){
int a,ans;
scanf("%d",&a);
ans=judge(a);
printf("%d\n",ans);
return 0;}
结果:
注意两个概念:
①全局变量:定义在所有函数前面,为所有程序段共用
#include<stdio.h>
int x;//全局变量
void change(){x=x+1;}
int main(){x=10;
change();
printf("%d\n",x);
return 0;}
结果:
②局部变量:定义在函数内部,只在内部生效,函数结束则销毁
#include<stdio.h>
void change(intx)
{x=x+1;}
int main(){
int x=10;
change(x);//与main里的x 是不同变量!
printf("%d\n",x);
return 0;}
结果:
函数的递归调用,后面会详细介绍:函数自己调用自己
计算n的阶乘:
#include<stdio.h>
int F(intn){
if(n==0) return1;
else return F(n-1)*n;}
int main(){
int n;
scanf("%d",&n);
printf("%d\n",F(n));
return 0;}
结果:
递归虽好,也不可常用,数值过大时计算效果还不如普通算法。
网友评论