#import <Foundation/Foundation.h>
#import "Function.h"
int main(int argc, const char * argv[]) {
//函数定义
/*返回值类型 函数名(参数1, 参数2, 参数3, 参数4)
{
函数体;
return 返回值;
}
*/
//函数四种基本类型:
//无参无返回值
//实参 到形参的过程是一个拷贝的过程
//函数的值,要哟过对应的数据类型进行接收
//c语言允许函数嵌套调用,不允许函数嵌套定义
// sayHello();
// goSwiming();
// goGetRoom(60);
// printf("警察罚了我%d元钱\n",police());
// printf("找你%d元钱\n",over(800));
// //print(100);
// printf("和为%d",sum(1, 100));
// int a[3] = {2,5,3};
// printf("最大%d",maxCompild3(a,3));
// printf("最大值:%d",maxThreeValue(2,5,7));
// int array[5] = {0};
// //计算数组所占的字节
// int count = sizeof(array) / sizeof(int);
// printf("数组元素个数:%d\n",count);
// setValueForArray(array, count);
// printfArray(array, count);
// printf("\nSum = %d",sumArray(array, count));
//变量作用域:全局变量,局部变量,静态变量
//全局变量:定义在函数外的叫全局变量,全局变量比较危险,使用需谨慎
//局部变量:定义在函数内的叫局部变量
//静态变量: 由static 关键字修饰的变量,就是静态变量.
//特点:1.只初始化一次
//2如果没有赋初值,默认为0
//static int sum1 = 0;
// for (int i = 0; i < 64; i++) {
// static int sum1 = 0;
// sum1 += i;
// printf("sum = %d",sum1);
// }
//递归求阶乘
//函数递归:处理特定问题,函数递归是调用一个与自己功能相同的函数
//printf("%d",factorial(5));
return 0;
}
int factorial(int a){
//注意递归一定要有出口
if (a == 1 ||a == 0) {
return 1;
}
return a * factorial(a - 1);
}