c语言学习

24 阅读1分钟

函数 4 种调用方式

  1. 作为表达式调用:将函数的返回值参与运算、赋值等表达式操作;
  2. 作为语句调用:仅执行函数的逻辑,不接收其返回值;
  3. 作为函数的实参调用:将函数的返回值作为参数传递给另一个函数;
  4. 在一个函数中调用另一个函数:在函数的实现逻辑中,嵌套调用其他函数。
#include <stdio.h>
int getBigger2(int a, int b){
    if(a>b)
        return a;
    else
        return b;
}

// 函数2:求三个整数的较大值(调用getBigger2)
int getBig3(int x, int y, int z){
    // 先求x、y的较大值,再与z比较
    return getBigger2(getBigger2(x,y), z);
}

// 函数3:返回参数+3
int f32(int n){
    return n + 3;
}

// 函数4:打印分隔符
void printFOK(){
    printf("=========================================\n");
    printf("=========================================\n");
}

// 主函数(程序入口)
int main(){
    // 调用getBig3,输出三个数的最大值
    printf("max:%d\n", getBig3(1,2,3));
    printFOK();

    // 1. 将函数作为表达式调用(f32的返回值参与运算)
    int rst = f32(10) + 20;
    printf("rst:%d\n", rst);
    printFOK();

    // 2. 作为语句调用(仅执行函数,无返回值接收)
    f32(10);
    printFOK();

    // 3. 作为函数的实参调用(f32的返回值传给f32)
    int rst1 = f32(f32(10));
    printf("rst1:%d\n", rst1);
}

运行效果图

image.png

#include <stdio.h>
int getBigger(int a,int b,int c){
	int max = (a>b?a:b);
	return (max>c?max:c);
}

int main49() {
	int rst = getBigger(100,20,30);
	printf("%d",rst);
    return 0;
}

运行效果图

image.png