#宏定义的使用

如图所示,该define的宏定义中为什么T2的运行结果是10呢?
是不是把x+x看成一个整体赋给T1呢?
如果是的话为什么不应该写成T2=x+x-(x+x)呢?
而它的含义是不是T2=x+x-x+x呢,为什么不加上括号呢?难道不符合数学运算规则?
- 首先字符串里的 字符 ,宏不会替换
- 其次宏替换是原样替换, T1 = 5, T2 = 5 + 5 - 5 + 5 = 10
T2是T1-T1,所以是x+x-x+x,所以是x+x=10
括号要你自己加,它就是个机械的替换
他只是定义一个算式,而计算是在最后一起算的。
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^