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

这题cirf好像没什么用啊 在main函数中没出现,为什么还会影响输出结果

#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 ;     //计算三角形周长

      return cirf;

    }

       

}


int main()

{

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

    int a, b, c;

    a = 3;

    b = 4;

    c = 5;

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

    return 0;

}


提问者:weixin_慕侠2446508 2021-08-11 00:05

个回答

  • weixin_慕仰2568236
    2021-08-26 15:50:45

    上面定义的周长形参函数里就包含了if...else{    cirf=a+b+c;return cirf;    },你调用周长函数printf("三角形的周长是:%d\n", getGirth(a,b,c));  就也相当于在满足abc组成三角形的前提下开始用cirf=a+b+c的逻辑计算周长。

  • 慕莱坞7197699
    2021-08-26 13:20:18

    在自定义函数int getGirth(int a,int b,int c)中,else后面的语句: int cirf ;  应该改写为 int cirf =a+b+c;  为计算三角形周长,这样运行结果才正确。后面的return cirf;的意思是如果输入的三条边满足构成三角形的条件,则会输出该三角形的周长值。