参数

17 阅读2分钟

函数

1. 定义。实现特定功能的代码段。

1. 三个要素(1)功能。干嘛用的?

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

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

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

(3)返回值。它会给我什么?


#include <stdio.h>
int times10(int n) {
	return 10 * n;
}
//void 这个关键字,就表明这个函数没有返回值 
int main48(){
	int rst = times10(5);
	printf("%d",rst);
	return 0;
}

image.png




#include <stdio.h>
int getBigger( int a, int b){
	return  a > b ? a : b;
}
int ger(int x,int y,int t){
	if(x>=y && x>=t){
		return x;
	}else if(y>=x && y>=t){
		return y;
	}else{
		return t;
	}
}
int main(){
	
    int res = getBigger(10,20);
    printf("%d",res);
    printf("\n");
    int grt = ger(30,40,50);
    printf("%d",grt);
}

image.png

return
1.  设置函数的返回值。它后边的表达式的值就是当前函数的返回值。
1.  结束后面代码的执行 函数运行到此为止,它后边的代码都不会执行!


int i(){
	printf("a \n");
	printf("w \n");
	return 10 +3-10 *50;
	printf("g \n");
}
int main(){
    int tit = i();
    printf("%d",tit);
}
    

image.png


#include <stdio.h>

// 函数声明(增强代码可读性,避免顺序问题)
int getBig2(int a, int b);
int getBig3(int x, int y, int z);
int f32(int n);
void printOK();

// 求两个数的较大值
int getBig2(int a, int b ){
    if(a > b){ 
        return a;
    } else {
        return b;
    }
}

// 求三个数的较大值(演示:在一个函数中调用另一个函数)
int getBig3(int x, int y, int z){
    // 方式4:在一个函数中调用另一个函数(嵌套调用getBig2)
    return getBig2(getBig2(x, y), z);
}

// 自定义计算函数
int f32(int n){
    return n / 3 + 1;
}

// 打印分隔线函数
void printOK(){
    printf("-----------------------------\n");
    printf("-----------------------------\n");
    printf("-----------------------------\n");
}

int main(){
    // 修复函数名错误:getBig → getBig3
    printf("三个数1,2,3中的最大值:%d\n", getBig3(1,2,3));
    printOK();

    // 方式1:将函数作为表达式调用(参与算术运算)
    int rst = f32(30) + 20 ; 
    printf("f32(30)+20的结果:%d\n", rst);
    printOK(); 

    // 方式2:作为语句调用(单独执行函数,无返回值使用)
    printOK();

    // 方式3:作为函数的实参调用(函数调用结果作为另一个函数的参数)
    int rst1 = f32(f32(30)); 
    printf("f32(f32(30))的结果:%d\n", rst1);

    return 0;
}





image.png