#define使用的核心:直接替换
我也觉得自己很清楚这一点,但看到这一道输出程序片段结果题,还是懵了。大家也可以在不看我下方答案的情况下,自己做一下,题目如下:
#include<stdio.h>
#define P 3
#define S(a) P*a*a
int main()
{int ar;ar=S(3+5);printf("%d\n",ar);return 0;
}
输出ar的值:
嘿嘿,不知道大家有没有跟我掉进同样的坑里,答案是29
直接替换哦,真的是直接替换嘿嘿,因为S里3+5没有括号,所以替换过去也是没有的,相信你看到这里一定就能算出正确答案了。
嘿嘿,如果有帮助到同样采坑的你的话,希望收获一个点赞鼓励一下(哈哈,终究还是厚颜无耻地提出了要赞的请求)