可以看看这个程序哪里错了嘛?大一的实验

//三角形边长为a b c求面积
#include<stdio.h>
#include<math.h>
void squr(int a,int b,int c)
{
float result,s;
s=(a+b+c)/2;
result=sqrt(s*(s-a)(s-b)(s-c));
printf("面积=%.2f\n",result);
}
int main()
{
float a, b, c;
scanf("%f,%f,%f",&a,&b,&c);
printf("面积=%.2f\n",squr);
return 0;
}

错在第三行,七行,八行
第三行:函数需要返回值,
第七行:C语言内乘法运算不能省略乘号
第八行:主函数中printf接受的是变量,需要将第八行printf转换成return。


#include<stdio.h>
#include<math.h>

double squr(double a,double b,double c);

int main()
{

double a, b, c;
scanf("%lf%lf%lf",&a,&b,&c);
printf("面积=%.2lf\n",squr(a,b,c));
return 0;
}
double squr(double a,double b,double c)
{
    double s,result;
    s=(a+b+c)/2;
    result=sqrt(s*(s-a)*(s-b)*(s-c));
    return result;
}

main函数第三行可以改成squr(a,b,c);
squr函数的形参类型可以改为float