#include
#define PT 5.5
#define S(x) PT*x*x
int main(int argc, char const *argv[])
{
int a=1,b=2;
printf("%4.1f\n",S(a+b) );
return 0;
}
#include
#define PT 5.5
#define S(x) PT*x*x
int main(int argc, char const *argv[])
{
int a=1,b=2;
printf("%4.1f\n",S(a+b) );
return 0;
}
因为你的宏没有用括号,导致展开的时候运算跟你想象的不一样。
5.5 * 1+2 * 1+2
要想计算面积,应该用括号
#define S(x) PT*(x)*(x)