iOS开发学习之C语言---C05 函数-3

//

//  main.m

//  C05 函数-3

//

//  Created by xalo on 15/10/13.

//  Copyright (c) 2015 Darling.com. All rights reserved.

//


#import <Foundation/Foundation.h>

int s = 77;// 全局变量


#pragma mark 函数的嵌套调用

/*

 函数可以嵌套调用。

 函数的嵌套调用:在一个函数中,调用另一个函数完成某项功能。(函数可以嵌套调用,但不允许嵌套定义!!!)

 */


#pragma mark 函数的递归调用

// 函数递归时,一定要有出口,否则会造成递归环路(死递归),那么程序一定会崩溃。

// 递归调用:自己调用自己完成某个功能

// 使用递归的方式实现5



// *定义*

// 定义一个函数,求两个数的最大数

int maxOfTow(int a, int b); // 声明在main函数之前,函数的声明可以省略

int maxOfTow(int a, int b)  // 定义

{

    int max = a > b ? a : b;

    

    return max;

}




// 定义一个函数,求三个数的最大数

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

int maxOfThree(int a, int b, int c)

{

    //    int max = a > b ? a : b;

    int max = maxOfTow(a, b); // 这就是 函数的嵌套!!!

    max = max > c ? max : c;

    

    return max;

}




// 定义一个函数,求四个数的最大数

int maxOfFour(int a, int b, int c, int d);

int maxOfFour(int a, int b, int c, int d)

{

    //    int max = a > b ? a : b; // 先求出前两个数的最大值

    //    max = max > c ? max : c; // 将前两个数的最大数和第三个数比较,找到最大数

    int max = maxOfThree(a, b, c); // 这就是 函数的嵌套!!!

    max = max > d ? max : d; // 将前三个数的最大数和第四个数比较,找到最大数

    

    return max;

    

}




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

    //*调用*

    

    // 调用 求两个数的最大数 函数

    int x = maxOfTow(8, 12);

    printf("%d\n", x);

    

    // 调用 求三个数的最大数 函数

    int y = maxOfThree(12, 8, 22);

    printf("%d\n", y);

    

    // 调用 求四个数的最大数 函数

    //    int z = maxOfFour(45, 54, 32, 23);

    //    printf("%d\n", z);

    printf("%d\n", maxOfFour(45, 54, 32, 23)); // 精简

    

    

#pragma mark 变量的作用域

    // 局部变量:只在当前作用域中起效

    // 全局变量:不属于任何一个作用于的变量就是全局变量,全局变量可以在当前文件中任何一个地方被访问到(从创建的位置开始,一直到文件结束)

    // 如何确定作用域? hi{}来确定作用域,一对大括号,就确定了一个作用域。

    int a = 12;

    for (int i = 0; i < 1 ; i++) {

        int b = 23;

        printf("b = %d\n",b);

    }

    printf("a = %d\n",a);

    

    printf("s = %d\n",s);

    

    

    

    

    

    

    

    

    

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值