• 1207.1——C语言 函数


    函数可以分为无参函数和有参函数。

    无参函数的定义

    无参函数定义的一般形式如下:
    返回值类型  函数名(){
        函数体
    }

    说明:

    • 返回值类型可以是C语言中的任意数据类型。
    • 函数名是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。
    • 函数体是函数需要执行的代码。即使只有一个语句,也要由{ }包围。
    • 在函数体中使用return语句返回数据。


    例如,定义一个函数,计算1加到100的结果:

    int sum(){
        int i, sum=0;
        for(i=1; i<=100; i++){
            sum+=i;
        }
        return sum;
    }

    计算结果保存在变量sum中,通过return语句返回。sum为int型,所以返回值类型也必须为int,要一一对应。

    return是C语言中的一个关键字,只能用在函数中,用来返回处理结果。

    将上面的代码补充完整:

    #include <stdio.h>
    
    int sum(){
        int i, sum=0;
        for(i=1; i<=100; i++){
            sum+=i;
        }
        return sum;
    }
    
    int main()
    {
        int a = sum();
        printf("The sum is %d
    ", a);
        return 0;
    }

    运行结果:
    The sum is 5050

    函数不能嵌套定义,main 也是一个函数定义,要将 sum 放在 main 外面。函数必须先定义后使用,所以 sum 只能在 main 前面。

    注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。

    无返回值函数

    有的函数不需要有返回值,或者返回值类型不确定(很少见),那么用void表示,例如:

    void hello(){
        printf ("Hello,world 
    ");
        //没有返回值就不需要 return 语句
    }

    void是C语言中的一个关键字,表示空类型或无类型,绝大部分情况下也就意味着没有 return 语句。

    有参函数的定义

    有参函数定义的一般形式如下:
    返回值类型  函数名(参数列表){
        函数体
    }

    与无参函数相比,有参函数的定义多了“参数列表”。

    定义一个函数求两个数中的最大值:

    int max(int a, int b){
        if (a>b){
            return a;
        }else{
            return b;
        }
    }

    参数列表可以是各种类型的变量,要指明数据类型和变量名称;各个参数之间用逗号,分隔。参数列表中给出的变量可以在函数体中使用。

    函数定义时给出的参数称为形式参数,简称形参;函数调用时给出的参数称为实际参数,简称实参。函数调用时,将实参的值传递给形参,相当于一次赋值操作。注意:实参和形参的类型、数目必须一致。

    将上面的代码补充完整:

    #include <stdio.h>
    
    int max(int a, int b){
        if (a>b){
            return a;
        }else{
            return b;
        }
    }
    
    int main(){
        int num1, num2, maxVal;
        printf("Input two numbers: ");
        scanf("%d %d", &num1, &num2);
        maxVal = max(num1, num2);
        printf("The max number: %d
    ", maxVal);
    
        return 0;
    }

    运行结果:
    Input two numbers: 100 200
    The max number: 200

    定义max时,变量a、b的值都是未知的;调用max时,分别将num1、num2的值传递给a、b,类似于:

    a=num1;
    b=num2;

    return 语句可以有多个,可以在函数体的任意位置;在max中,根据 if 的判断结果来执行不同的 return 语句。

  • 相关阅读:
    vue 中的键盘事件
    红米k40刷类原生系统
    (历史) 1960s,大家争先在共享内存上实现原子性 (互斥) 但几乎所有的实现都是错的,直到 Dekker's Algorithm,还只能保证两个线程的互斥
    Go Memory Model 内存模型 同步 goroutine
    理解并发程序执行 (Peterson算法、模型检验与软件自动化工具
    源码 连接池 设计
    Thread Exception Captured Application Crash Report
    Check if the context is expired.
    A Quick Guide to Go's Assembler
    敏感问题调查 干扰变量 抛硬币
  • 原文地址:https://www.cnblogs.com/damonWq/p/5027393.html
Copyright © 2020-2023  润新知