发布网友 发布时间:2022-10-15 17:27
共4个回答
热心网友 时间:2023-10-10 07:07
规则就是替换, A * B 这样的东西 ,如果A 替换成 a+b , B 替换成c,结果当然就是 a + b * c 。 A*B中没有括号, 被替换成的东西中也没有括号, 怎么可能替换了就多出个括号来热心网友 时间:2023-10-10 07:07
我经常给我的学生讲这个问题,我的说明是:“C语言在进行宏替换时,原则是简单展开,简单到你一思考就要出错的地步”热心网友 时间:2023-10-10 07:08
define只是纯粹的字符串替换,它不管你有什么符号,所以你得给它加上括号,不然它不会辨别, 就像你说的例子一样,所以写define括号得记得加上热心网友 时间:2023-10-10 07:08
宏替换是最简单的 文本替换,如果不考虑里面多重的宏的替换规则的话,就相当于你直接拷贝粘贴。