@2017-01-08
源由
vs2013下,对于#define Print(x) printf(x) 我在代码里添加了 a=3; Print("%d",a) ;输出为0;这让我很奇怪。后来发现,Print只吃了“%d”
大概。但是重新看了下不定参的说明,感觉好像又不是那么回事。
算了,以后再仔细想想这一块吧。
问题
1,宏替换有规则,绝不是任意字符串替换,控制符在宏中有其他意义
@2017-01-08
vs2013下,对于#define Print(x) printf(x) 我在代码里添加了 a=3; Print("%d",a) ;输出为0;这让我很奇怪。后来发现,Print只吃了“%d”
大概。但是重新看了下不定参的说明,感觉好像又不是那么回事。
算了,以后再仔细想想这一块吧。
1,宏替换有规则,绝不是任意字符串替换,控制符在宏中有其他意义