如果是的话为什么不应该写成T2=x+x-(x+x)呢(关键词-宏定义)

#宏定义的使用

img


如图所示,该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
括号要你自己加,它就是个机械的替换

他只是定义一个算式,而计算是在最后一起算的。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^