f*f不应该等于16吗
if(x--)后x=1;
注意宏定义的用法,这里是z=F * F;也即是z=x+y * x+y = 1 +3*1+3 = 7;
x变成了1z = F*F = 1 + 3 * 1 + 3 = 1 + 3 + 3 = 7
x--后为1z=F×F=1+3*1+3=7注意是乘法先算
x--是先输出再执行减一操作,所以在判断是x还是2,所以会进入判断中,此时x在执行减一操作变成了1,z=FF根据宏定义先替换后计算的规则变成了z=x+yx+y=1+3*1+3=7