C语言第八课:有参&无参、形参&实参

案例

#include "pch.h"
#include <iostream>
int getGirth(int a, int b, int c)    //这里的abc是形参,getGirth是一个有参函数
{
    if ((a+b)>=c||(a+c)>=b||(b+c)>=a)    //判断是否是三角形
    {
        int cirf = a + b + c;
        return cirf;    //返回值为周长
    }
    else
    {
        printf("无法构成三角形");
        return 0;
    }
}
int main() {
    int a, b, c;    //需要与形参一一对应,否则会“不匹配”
    printf("输入三角形的三边长:\n");
    scanf_s("%d,%d,%d",&a,&b,&c);
    printf("周长为:%d", getGirth(a, b, c));    //这里的abc是实参
    return 0;
}

要点

函数的形参和实参具有以下特点:

  • 形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
  • 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
  • 在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

本文链接:

https://www.zaigie.com/archives/93/