#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", cirf);
getGirth(a,b,c);//调用周长函数
return 0;
}
问题一、cirf没有在主函数中定义,cirf是int getGirth(int a,int b,int c)中的变量,只作用于这个函数,函数外无法使用。
问题二、在主函数定义cirf后需要初始化值,不然就是随机数。
问题三、函数调用放在printf后输出不会显示被调用的函数的返回值,可以使用赋值在printf前把函数的返回值赋给cirf。
综上,解决方法:int cirf=getGirth(a,b,c);printf("三角形的周长是:%d\n", cirf);
或者还可以printf("三角形的周长是:%d\n", getGirth(a,b,c);这样解决
亲,你这里提示什么错误呢】
cirf没有初始化,要先令他等于 0
cirf在子函数里要用到主函数的话要先声明可以在主函数里int cirf;一下