#include
#define Hello(x) x/(x-1)
void main()
{
int a=1,b=2;
printf("%d \n",Hello(a-b));
}
程序的输出是2,但是-1/(-2)的结果不是应该为0么?所以我不知道为什么结果为2,求解答。
printf("%d \n",Hello(a-b));// a-b/(a-b-1) = 1-2/(1-2-1) = 1 + 1 = 2
想要得到你希望的结果,可以加一个括号,printf("%d \n",Hello((a-b)));//(a-b)/((a-b)-1) = -1/-2 = 0
你少了个括号 在你的宏定义里面