#include
#include
using namespace std;
#define S(a,b,c) ((a)+(b)+(c))/2
#define AREA(a,b,c) sqrt(S((a),(b),(c)) * (S((a),(b),(c)) - (a)) * (S((a),(b),(c)) - (b)) * (S((a),(b),(c)) - (c)))
int main( )
{
float a,b,c;
cout << "请输入三个边长:" << endl;
cin >> a >> b >> c;
if(a+b
cout<<"此边长不能构成三角形"<
else
{
cout << "s=" << S(a,b,c) << endl << "area=" << AREA(a,b,c) << endl;
}
return 0;
}
//////////////////////////////
//#define S(a,b,c) (a+b+c)/2;
//#define AREA(a,b,c) sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a.b.c)-c));
//不要在后面加分号,不要把逗号写成句号。
错误的原因在于宏进行了嵌套。S(a,b,c)可以正常输出的 。你只要将AREA(a,b,c)删除即可。