//函数:具有特定功能的代码段
//分类:库函数;自定义函数
//定义:返回值,参数(在main函数外面去定义函数)
//函数的构成 返回值类型 函数名(参数){函数体}
//定义第一种 无参数 无返回值
void sayhello()
{
printf("别闹! ");
}
//第二种 无参数 有返回值
int studentCount()
{
return 58;//定义一个有返回值的函数,必须有返回值.return
}
//第三种 有参数 无返回值
void publicfun(int a)
{
printf("你他妈的是在逗我吗? ");
}
//第四种 有参数 有返回值
int sumOfvlaue(int a,int b)
{
return a+b;
}
void sayhello()
{
printf("别闹! ");
}
//第二种 无参数 有返回值
int studentCount()
{
return 58;//定义一个有返回值的函数,必须有返回值.return
}
//第三种 有参数 无返回值
void publicfun(int a)
{
printf("你他妈的是在逗我吗? ");
}
//第四种 有参数 有返回值
int sumOfvlaue(int a,int b)
{
return a+b;
}
//驼峰命名法 : 定义函数名时使用驼峰命名法(第二个单词开始首字母大写)
int main(int argc, const char * argv[]) {
@autoreleasepool {
// sayhello();
// int s = studentCount();
// printf("%d ",s);
// publicfun(3);
// int sum = sumOfvlaue(6,7);
// int s = studentCount();
// printf("%d ",s);
// publicfun(3);
// int sum = sumOfvlaue(6,7);
// printf("%d
",sum);
//返回值 函数的值 有返回值的函数通过return返回到主调函数
//return 还可以用来结束语句 后面的代码不会在执行编译
//参数:形参 实参
//形参:在函数定义时小括号里面的参数
//实参:在函数在调用的时候传入的参数
//return 还可以用来结束语句 后面的代码不会在执行编译
//参数:形参 实参
//形参:在函数定义时小括号里面的参数
//实参:在函数在调用的时候传入的参数
//注意:在实际调用中 形参会拷贝实参的内容
//严格的函数包括三个部分:函数的声明(函数原型) 函数的定义 函数的调用
//函数的声明(.h文件,头文件header)
//int sumValue(int a,int b);
////函数的定义(.m文件,)
//int sumValue(int a,int b)
//{
// return a + b;
//}
//函数的声明(.h文件,头文件header)
//int sumValue(int a,int b);
////函数的定义(.m文件,)
//int sumValue(int a,int b)
//{
// return a + b;
//}
//数组作为参数 第一个参数是数组 第二个参数是数组元素的个数
int main(int argc, const char * argv[]) {
//main函数就是在嵌套别的函数
//函数的调用
// int array[5] = {8,2,7,4,9};
//数组作为函数的参数,调用时直接数组名和数组元素个数
//main函数就是在嵌套别的函数
//函数的调用
// int array[5] = {8,2,7,4,9};
//数组作为函数的参数,调用时直接数组名和数组元素个数
// printfArr(array,5);
//函数可以嵌套使用 但不可以嵌套定义
//函数的递归调用 就是自己调用自己
//注意:一定要有出口
//变量的作用域
//一般可以用花括号来区分作用域 在同一个作用域里面变量名是不能重复的.
//在不同一作用域下面,变量名可以重复
//局部变量 在花括号里的变量,变量的作用域
//注意:一定要有出口
//变量的作用域
//一般可以用花括号来区分作用域 在同一个作用域里面变量名是不能重复的.
//在不同一作用域下面,变量名可以重复
//局部变量 在花括号里的变量,变量的作用域
//全局变量:定义在MAIN函数外面,在MAIN函数里面使用
int twoNumberMax(int a,int b)
{
return a > b ? a : b;
}
int threeNumberMax(int a,int b,int c)
{
return twoNumberMax(a, b) > c ? twoNumberMax(a, b) :c;
}
int fourNumberMax(int a,int b,int c,int d)
{
return threeNumberMax(a, b, c) > d ? threeNumberMax(a, b, c) : d;
}
int fiveNumberMax(int a,int b,int c,int d,int e)
{
return fourNumberMax(a, b, c, d) > e ? fourNumberMax(a, b, c, d) : e;
}
int square(int a)
{
return a * a;
}
int factorial(int n)
{
int factor = 1;
for (int i = 1; i <= square(n); i++) {
factor *= i;
}
return factor;
}
int sum(int a,int b,int c)
{
return factorial(a)+factorial(b)+factorial(c);
{
return a > b ? a : b;
}
int threeNumberMax(int a,int b,int c)
{
return twoNumberMax(a, b) > c ? twoNumberMax(a, b) :c;
}
int fourNumberMax(int a,int b,int c,int d)
{
return threeNumberMax(a, b, c) > d ? threeNumberMax(a, b, c) : d;
}
int fiveNumberMax(int a,int b,int c,int d,int e)
{
return fourNumberMax(a, b, c, d) > e ? fourNumberMax(a, b, c, d) : e;
}
int square(int a)
{
return a * a;
}
int factorial(int n)
{
int factor = 1;
for (int i = 1; i <= square(n); i++) {
factor *= i;
}
return factor;
}
int sum(int a,int b,int c)
{
return factorial(a)+factorial(b)+factorial(c);
}