我们分为两大点:
一.函数的参数 (参数分为实参和形参。)
形参和实参的基本理解:
函数()内定义的可以看作是一个占位符,它现在是没有数据的,只能等到函数被调用时接收传递进来的数据,这就是 形参
函数成功被调用时给出的参数为实型的数据,会被函数内部的代码使用,这就是实参 **** 注意**** :以上只是个人理解。
形参和实参的功能是作数据传递,函数发生调用时,实参的值会传送给形参。
形参和实参有以下几个特点:
int sum(int n)
{ int i;
for(i=n-1; i>=1; i--){
n+=i; }
printf("linjiawei = %d ",n); return n;}
int main(){
int m, suyi;
scanf("%d", &m);
linjiawei= sum(m);
printf("suyi = %d ", m);
printf("1+2+3+...+%d+%d = %d ", m-1, m, suyi); return 0;}
运行结果: Input a number: 100↙
The linjiawei = 5050
The suyi = 100
1+2+3+...+99+100 = 5050 通过 scanf 输入 m 的值,作为实参,在调用 sum 时传送给形参 n。 从运行情况看,输入 m 值为100,即实参 m 的值为100,把这个值传给函数 sum 时,形参 n 的初值也为100,在函数执行过程中,形参 n 的值变为 5050。函数运行结束后,输出实参 m 的值仍为100,可见实参的值不随形参的变化而变化。
二。函数的返回值
函数的返回值是指函数被调用之后,执行函数体中的程序段所取得的值,可以通过return语句返回。
return语句的一般形式为:
return 表达式; 或者: return (表达式); eg:
return 1;
return a+b;
return (100+200);
函数中可以有多个 return 语句,但每次调用只能有一个return 语句被执行,所以只有一个返回值。 一旦遇到 return 语句,不管后面有没有代码,函数立即运行结束,将值返回。例如: int func(){
int a=100, b=200, c;
return a+b;
return a*b;
return b/a;
} 返回值始终 a+b 的值,也就是300。
没有返回值的函数为空类型,用void进行说明。例如: void func()
{ printf("I am linjiawei ");} 一旦函数的返回值类型被定义为 void,就不能再接收它的值了。例如,下面的语句是错误的: int a = func(); 为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为 void 类型。
当一个函数没有明确说明类型时,C语言的编译程序自动将整型(int)作为这个函数的缺省类型,缺省类型适用于很大一部分函数。
当有必要返回其它类型数据时,需要分两步处理:首先,必须给函数以明确的.类型说明符;其次,函数类型的说明必须处于对它的首次调用之前。只有这样,C编译程序才能为返回非整型的值的函数生成正确代码。
(王小二)、返回语句
返回语句return有两个重要用途。第一,它使得内含它的那个函数立即退出,也就是使程序返回到调用语句处继续进行。第二,它可以用来回送一个数值。
一旦字串显示完毕,函数就没事可做了,这时它返回到被调用处。在实际情况中,没有多少函数是以这种缺省方式终止运行的。因为有时必须送回一个值,大多数函数用return语句终止运行,有时在函数中设立了多个终止点以简化函数、提高效率。切记,一个函数可以有多个返回语句。