谢谢我现在很bug 2022-10-31 14:29 采纳率: 85.7%
浏览 51
已结题

对define的深度理解,细节

输出里第三行x变为了2,不理解为什么,按理说应该是1,是有什么特殊的知识点吗

img

img

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2022-10-31 14:40
    关注

    SQUARE这个宏有问题,要改成#define SQUARE(a) (a)*(a)
    否则 SQUARE(1+2+z++I++w)展开后就是1+2+z++I++w * 1+2+z++I++w ,而不是(1+2+z++I++w) * (1+2+z++I++w)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月31日