输出里第三行x变为了2,不理解为什么,按理说应该是1,是有什么特殊的知识点吗
收起
SQUARE这个宏有问题,要改成#define SQUARE(a) (a)*(a)否则 SQUARE(1+2+z++I++w)展开后就是1+2+z++I++w * 1+2+z++I++w ,而不是(1+2+z++I++w) * (1+2+z++I++w)
报告相同问题?