宏不是函数,只是代码块的别名,所以S(3+1,3+4)展开后是3+1 * 3+4 = 10如果想实现(3+1) * (3+4),那么宏需要定义为 #define S(a,b) (a)*(b)
宏定义原地展开等价于3+1*3+4 = 10