//
// main.m
// C5_函数3.1
//
// Created by YIem on 15/11/16.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//
// main 函数中写函数调用

import <Foundation/Foundation.h>

include "MyFunc.h"

// 递归函数 函数定义中调用当前函数
void diGui(){

diGui();
printf("随便\n");

}
// 递归 阶乘 5 4 3 2 1
int jieCheng(int n) {

if (1 == n) {
    return 1;
}
return n * jieCheng(n - 1);

}

int main(int argc, const char * argv[]) {


// main 函数中写函数调用
printf("%d\n", maxTwo(3, 4));
// 函数嵌套调用
printf("%d\n", maxTwo(maxTwo(3, 4), 5));
// 函数中 只能调用函数 不能定义函数
// 定义只能写在main函数的外面
printf("%d\n", maxThree(3, 4, 5));
printf("%d\n", maxTwo(maxThree(3, 4, 5), 6));




//diGui();


return 0;

}

//
// MyFunc.h
// C5_函数3.1
//
// Created by YIem on 15/11/16.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//
// .h中写声明

import <Foundation/Foundation.h>

int maxTwo(int a, int b);

int maxThree(int a, int b, int c);

//
// MyFunc.m
// C5_函数3.1
//
// Created by YIem on 15/11/16.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//
// .m中写定义

import "MyFunc.h"

int maxTwo(int a, int b) {

return a > b ? a : b;

}

int maxThree(int a, int b, int c){

return maxTwo(maxTwo(a, b), c);

}