迎面走来的是---return返回值

39 阅读3分钟

函数:

函数:

  1. 定义:实现特定功能的代码段。
  2. 三个要素:

(1) 功能。干嘛用的?

(2) 参数。我需要给它提供什么?

形参:定义函数的时候,() 中的内容

实参:调用函数的时候,() 中的内容

(3) 返回值。它会给我什么?不是所有的函数都有返回值。

  1. 参数传递:

(1) 实参传递给形参

(2) 参数要一一对应。类型,个数,顺序。

  1. return 用来设置函数的返回值,它后边接的这个值,就是函数的返回值。

  2. 要点:与定义函数时的类型约定保持一致!

#include <stdio.h>
//void 这个关键字,就表明这个函数没有返回值
// 写一个函数,用来把一个给定的参数放大10倍 
int times10(int n){
	return 10 * n;
}

int main(){
	int rst = times10(5);
	printf("%d", rst);
	return 0;
}

结果如下:

image.png

image.png

例题1:

写一个函数,功能: 计算两个整数中的较大值,并返回。

#include <stdio.h>
int getBigger(int x,int y){
	return x > y ? x : y;
}

int main(){
	
	int rst = getBigger(10,20);
	printf("%d",rst);
} 

结果如下:

image.png

例题2:

写一个函数,用来求三个整数中的较大值,并返回。

#include <stdio.h>
int getBiggest(int a,int b,int c){
	if(a>=b && a>=c){
	    return a;
	}
	else if(b>=a && b>=c){
	    return b;
	}
	esle {
	    return c;
	}
}

int main(){
	
	int rst = getBiggest(10,20,3);
	printf("%d",rst);
} 

结果如下:

image.png

return:

return 的作用:

1.设置函数的返回值,它后面的表达式的值就是当前函数的返回值。

2.结束后面代码的执行 函数运行到此为止,它后边的代码都不会执行!

#include <stdlib.h>
int f(){
    printf("a");
    printf("b");
    
    printf("c");
    return 10 + 3 - 90 * 200;
}
int main(){
    int rst =f();
    printf("%d",rst);
    return 0;
}

结果如下:

image.png

调用方式:

有4种调用方式:

  1. 将函数作为表达式调用
  2. 作为语句调用
  3. 作为函数的实参调用
  4. 在一个函数中调用另一个函数

注意:函数有三个要素:功能,参数,返回值。

示例如下:

#include <stdlib.h>
int geiBig2(int a,int b){
    if(a>b){
        return a;
    }else{
        return b;
    }
}
int getBig3(int x,int y,int z){
    // 大者1:求x,y的较大者
    // 求大者1 和 z 的较大者
    // int k = getBig2(x,y);//4. 在一个函数中调用另一个函数
    
    // return getBig2(k,z);
    return getBig2(getBig2(x,y),z);
}

int f32(int n){
    return n / 3 + 1;
}
void printfOK(){
    printf("\n****************************\n");
    printf("****************************\n");
    printf("****************************\n");
}
int main(){
    printf("%d",getBig3(1,2,3));
    printfOK();
    
    int rst = f32(10) + 20;
    printf
}