您的程序一看就有问题:首先,没有您写define语句的;其次,您得先判断您的输入的三个数能不能构成一个三角形。
#include
#include
#define area(a,b,c,s) sqrt(s*(s-a)*(s-b)*(s-c));
#define m(a,b,c) (a+b+c)/2;
void main()
{
float a,b,c,S,s; //这里改为float 了
printf("请输入三角形的三边长:\n");
scanf("%f%f%f",&a,&b,&c); //你的输入 %f
s=m(a,b,c);
S=area(a,b,c,s);
printf("S=%.3f\n",S); //长度不要这.3f 可以了
}
#define area(a,b,c,s) sqrt(s*(s-a)*(s-b)*(s-c));
#define m(a,b,c) (a+b+c)/2;
这两行后面应该不加分号吧