问答详情
源自: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));  //调用周长函数
    return 0;
}


提问者:Clzypx 2023-08-05 17:17

个回答

  • iiLZJii
    2023-09-08 20:15:42

    https://img3.mukewang.com/64fb0dc800014b9813090713.jpg

    在自定义函数int getGirth(int a,int b,int c)中,因为无法构成三角形所以return 0相当于将getGirth(a,b,c)赋值为0,你可以将在主函数中的getGirth (a,b,c)理解为一个值为0的字母了,故输出0,而可以构成三角形的话return cirf就是将cirf的值赋予自定义函数int getGirth(int a,int b,int c),此时getGirth (a,b,c)的值为cirf的值,从而输出cirf的值