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;//返回结果
    }
  • 相关阅读:
    MySQL-数据表操作
    MySQL基础命令
    Navicat 15激活
    禅道-启动失败问题整理
    python-开头的注释作用及区别
    SpringBoot、SpringCloud版本中GA/PRE/SNAPSHOT的详解
    mybatis的一些重要配置
    简历对应的知识点
    idea的破解
    SFTP和FTP的区别
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/4629907.html
Copyright © 2011-2022 走看看