#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()); //调用周长函数
return 0;
}
用这样的代码的时候 出来的结果为什么会是 “三角形的周长是:4195712 ”呢
printf("三角形的周长是:%d\n",getGirth());这一句里面的调用函数“getGirth()”添加参数a,b,c.即是getGirth(a,b,c),再次运行就可以得出结果了。这是因为getGirth()里面的参数是形参,它只在函数内部有效,函数调用结束返回主函数后则不能再使用该形参变量(这句话是重点)而主函数main()里面的参数是实参,实参在进行调用时必须具有确定的值,故有a=3;b=4;c=5;这些赋值,以便把这些值传给形参,因此应该用赋值的方法是实参获得确定的值。希望对你有帮助。