此功能有什么作用? -_-

时间:2019-07-14 11:37:21

标签: c++

该程序有2个功能:我不明白第二个功能是什么

// first function:
int area( int length, int width)
{
    return length*width;
}

// second function:
int framed_area(int x, int y)
{
    return area(x-2,y-2);
}

1 个答案:

答案 0 :(得分:0)

我认为您在遵循程序流程方面需要帮助。
如果长度和宽度都为2或更大,则framed_area的面积小于area函数的面积。将此程序视为较大矩形内部的较小矩形。我们想找到较小的内部矩形的面积。

假设我们已经知道我们的矩形为x = 8和y =4。假设从程序的另一部分调用framed_area并将结果存储在一个名为innerArea的变量中,如下所示:

int innerArea = framed_area(8,4);

当调用它时,framed_area然后对area进行函数调用,这样它可以得到减小的区域大小8-2和4-2或6 x2。在较大的8 x 4矩形内是6 x 2长方形。

int framed_area(int x, int y)
{
    return area( x-2,y-2 ); 
    /*gets reduced area of 12 = 6*2
    with area(6, 2) */
}

在调用framed_area之后,变量innerArea现在为12。

这种写framed_area的替代方法可能使它更易于理解。

int framed_area(int x, int y)
{
    int newArea = area(x - 2, y - 2);

    return newArea;
}