---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
函数 任何一个C语言程序都是由一个或多个程序段构成的,每个程序段都有自己的功能,这些程序段成为函数。所以C语言程序是由函数组成的。当我们需要为程序添加一个功能的时候,可以定义一个函数。 函数定义 int sub(int num1,int num2) { return num1+num2; } int是函数的返回值类型 sub是函数名,函数名要和函数实现的功能有关,方便函数的调用。 括号内是函数的参数列表,函数内不能定义和参数一样的变量。 函数调用 函数参数分为形式参数和实际参数 形式参数:定义函数时函数名后括号内的参数,可以没有形参,也可以有多个形参 实际参数:调用函数时传入函数的具体数据,实参的个数必须和形参个数一样 当基本数据类型作为形参时,只是进行值传递,修改函数内部形参的值,不会影响外面实参的值。如下面一段代码:
#include <stdio.h>
int sub(int a,int b)
{
a = 10;
b = 10;
return a + b;
}
int main()
{
int a = 5;
int b = 5;
int c = sub(a,b);
printf("a=%d,b=%d c=%d\n",a,b,c);
return 0;
}
在主函数main内定义3个变量a,b,c,变量c调用函数sub并把a,b的值作为参数传递进去, 在函数sub内对形参a,b重新赋值,然后返回a+b的值。输出结果为:
a=5,b=5,c=20 a和b的值并没有因为函数sub的调用而改变。函数内return用来结束函数,并返回一个值给函数的调用者。 递归 递归使用的条件 1> 函数调用自己本事身 2> 函数必须有返回值 递归的使用,如下:计算n!的阶乘
long value (int n)
{
long sum;
if (n >0){
sum = n* value(n - 1);
}
else{
sum = 1;
}
return sum;
}
函数注意点 void代表函数没有返回值 没有明确声明函数的返回值类型时,默认的返回值类型就是int类型 函数有返回值时,也可以不返回任何值 默认情况下,函数名不能一样 函数不能嵌套定义 函数定义在main函数后面时,需要在函数调用之前声明函数 函数的声明方式 int sub(int a,int b); ---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net |
黑马程序员—C语言_函数
最新推荐文章于 2024-01-04 15:04:12 发布