问答详情
源自:5-4 形参与实参

怎么理解形参调用结束时即刻释放所分配的内存单元这句话

#include <stdio.h>

int getGirth(int a,int b,int c)

{

    if( (a+b)<=c || (a+c)<=b || (b+c)<=a )   //判断是否为三角形

    {

        printf("不构成三角形\n");

        return 0;                                

    }

    else

    {

      int cirf = a+b+c ;     //计算三角形周长

      return cirf;

    }

       

}


int main()

{

    /* 定义三角形三边长 */

    int a, b, c;

    a = 3;

    b = 4;

    c = 5;

    printf("三角形的周长是:%d\n", getGirth(a,b,c));  

    printf("%d",getGirth(a,b,c));//这里的参数调用我调了两次可输出的结果还是一样的

    return 0;

}


提问者:我好想吃使 2017-06-17 14:11

个回答

  • 像素Studio
    2017-12-10 00:01:55

    感觉形参就是像一台机器当你不用它的时候,他就放在那里不消耗资源,当你用到他的时候他开始消耗电量等完成后又停止耗电不占用资源,实参已经固定了 你调用两次相当于两次重新启动,结果理应是一样的。

  • 猎人的礼拜天
    2017-06-18 16:10:40

    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。

    形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。