zoukankan      html  css  js  c++  java
  • Objective-C之定义函数

    Demo1.m

    一个基础的函数定义

    #import<Foundation/Foundation.h>
    //定义一个返回值为int类型的,名为max的函数。传入的参数为两个int型数据
    int max(int x,int y)
    {
        int z=x>y?x:y;
        return z;//返回结果
    }
    int main(int argc,char * argv[])
    {
        @autoreleasepool{
            int a=6;
            int b=9;
            int result=max(a,b);//将a,b传入max函数,得到的返回值赋值给result
            NSLog(@"%d",result);//输出result的值
        }
    }

    Demo2.m

    需要注意的地方

    1.当函数指定的返回值类型和函数内return的值的类型不一样时,以函数指定的返回值类型为准

    2.定义函数尽量定义在main函数前,虽然在Xcode中放在main函数后也可以,但是这并不符合C99标准,在其它运行环境中可能就会报错

    (如果有强迫症或其它原因,一定要把函数放在在main函数后面,并且又想保持语言的规范性,那么请看Demo3.m)

    3.如果函数没有返回值,一定要明确指定函数返回值类型为void

    #import<Foundation/Foundation.h>
    int main(int argc,char * argv[])
    {
        @autoreleasepool{
            NSLog(@"通过调用函数,返回的值为:%f",demo_method(10,3));//输出demo_method的值
        }
    }
    //定义一个返回值为int类型的,名为demo_method的函数。传入的参数为两个int型数据
    int demo_method(int x,int y)
    {
        float z=x/y;
        NSLog(@"在函数内,还未返回时的值为:%f",(float)z);//输出demo_method的值//其中float是强制数据类型转换
        return z;//返回结果
    }

    Demo3.m

    函数声明

    好吧,其实Demo3.m和Demo2.m没什么差别,只是在main函数前把自定义函数事先声明了一下,让编译器知道我拥有一个叫demo_method的函数。声明格式很简单,看Demo3.m第一行代码就知道了

    当然也可以写成

    int demo_method(int,int);

    也就是说形参列表不指定形参名,而是直接指定形参类型就OK了

    int demo_method(int x,int y);
    int main(int argc,char* argv[])
    {
        @autoreleasepool {
            NSLog(@"The max is:%d.
    ",max(8, 9));
            NSLog(@"%@",sayHi(@"Kitty"));
            NSLog(@"通过调用函数,返回的值为:%d",demo_method(10,3));//输出demo_method的值
        }
        return 0;
    }
    int demo_method(int x,int y)
    {
        float z=(float)x/y;
        NSLog(@"在函数内,还未返回时的值为:%f",z);//输出demo_method的值
        return z;//返回结果
    }
  • 相关阅读:
    jQuery使用工具集
    JQuery解决鼠标单双击冲突问题
    线程池
    配置文件application.properties参数详解
    SpringBoot整合SpringDataJPA
    获取数据库的自增主键(六)
    【使用篇二】邮箱自动化配置集成(18)
    Quartz自动化配置集成
    Cron表达式详解
    标准盒模型和怪异盒模型的区别
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/4629907.html
Copyright © 2011-2022 走看看