目录
函数
定义
函数时一块代码,接受零个或多个参数,做一件事,并返回零个或一个值
void sum(int begin,int end)
{int i;
int sum=0;
for(i=begin;i<=end;i++) {
sum +=i;
}
printf("%d到%d的和是%d/n",begin,end,sum);
}
注:第一行为函数头,sum为函数名,圆括号里为参数表,void是返回类型,大括号内的部分是函数体。
调用
- 函数名(参数值);
- ()起到了表示函数调用的重要作用
- 即使没有参数也需要()
- 如果有参数,则需要给出正确的数量和顺序
- 这些值会被按照顺序依次用来初始化函数中的的参数
从函数返回
- return停止函数的执行,并送回一个值
- return;
- return 表达式;
-
一个函数里可以出现多个return语句
-
可以赋值给变量
-
可以再传递给函数
int max(int a,int b)
{int ret;
if (a>b){
ret=a;
}else{
ret=b;
}
return ret;
}
没有返回值的函数
- void 函数名(参数表)
- 不能使用带值的return
- 可以没有return
- 调用的时候不能做返回值的赋值
函数的先后关系
void sum(int begin,int end)
{int i;
int sum=0;
for(i=begin;i<=end;i++){
sum+=i;
}
printf("%d到%d的和是%d\n",begin,end)
}
int main()
{
sum(1,10);
sum(20,30);
sum(35,45);
return 0;
}
函数原型
double max(double a,double b);
int main()
{ int a,b,c;
a=5;
b=6;
c=max(10,12);
printf("%d\n",c);
max(12,13);
return 0;
}
double max(double a,double b)
- 函数头,以“;”结尾,就构成了函数的原型
- 函数原型的目的是告诉编译器这个函数长什么样
- 名称
- 参数(数量及类型)
- 返回类型
- 注:最后一行为实际的函数头
调用函数
int a,b.c;
a=5;
b=6;
c=max(10,12);
c=max(a,b);
c=max(c,23);
c=max(max(23,45),a);
c=max(23+45,b);
- 如果函数有参数,调用函数时必须传递给它数量、类型正确的值
- 可以传递给函数的值是表达式的结果,这包括:字面量、变量、函数的返回值、计算的结果。
本地变量
- 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量
- 定义在函数内部的变量就是本地变量
- 参数也是本地变量