问答详情
源自: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 ;     //计算三角形周长

      cirf = a + b + c ;

      return cirf;

    }

       

}


int main()

{

    int a, b, c;

    a = 11;

    b = 4;

    c = 5;

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

    return 0;

}       

结果是                  不构成三角形

                            三角形的周长是:0    

 为什么结果不是    三角形的周长是:不构成三角形

                            0

提问者:Single丶love 2016-07-29 15:38

个回答

  • 大兔纸
    2016-07-29 17:05:26
    已采纳

    在调用函数getGirth时如果if()成立首先执行printf("不构成三角形\n");,之后返回 0,main函数中printf("三角形的周长是:%d\n", getGirth(a, b, c));   getGirth(a, b, c)=0,