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

来人啊kuailairen

#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));  //调用周长函数

    return 0;

}

这个代码中倒数第三行    printf("三角形的周长是:%d\n", getGirth(a,b,c));  //调用周长函数中的getGirth(a,b,c));为何用a,b,c而不是3,4,5????

请大神详细解说一下 谢谢!


提问者:一见我就笑 2017-06-10 20:45

个回答

  • 奇怪的阿怪
    2017-07-26 18:54:21
    已采纳

    因为第二行定义函数的时候已经定义了形参,所以在下面调用函数的时候:

    在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

    另外代码写出来是为了用的,你直接在调用函数的时候写3,4,5以后怎么办?用a,b,c可以在外部给abc赋值而不需要直接进去改了

  • xieqingpu
    2017-06-11 14:26:25

    上面不是已经赋值了吗?

    int a,b,c;

    a=3;

    b=4;

    c=5;