一道C语言结构体习题
#include<stdio.h>
#define T(x,y,r) x*r*y/4
#define M(x,y) (x)>(y)? (x):(y)
main()
{
int a=1,b=3,c=5,s1,s2;
s1=M(a=b,b-a);
s2=T(a++,a*++b,a+b+c);
printf("%d %d\n",s1,s2);
}
最终的答案s1与s2分别为3,28 运行测试后也是这个结果。
s1没问题,可是s2有问题,把参数代入后式子是 a++ * a + b + c * a * ++b/4
此时的a=3,b=3,c=5
我的算式是 3*3+3+5*3+4/4
可是怎么算也算不到28啊