关于预处理命令

废话不多说,直接正题###

#define f(x) x*x+3*x
若 printf("%d",f(2));
输出的值即为:2*2+3*2;

上述所想表达为:x 的值可以改变,就是f(x)中的x;

上面都不是重点,重点为:
#define f(x) x*x+3*x

printf("%d",3*f(2));     会输出什么呢?

输出:30         这不是正确的数值
正确输出:18
他的运算方式为: 3*x*x+3*x
如果你想得到30,那么请将你的f(2)用括号包起来

知识获得 我的不行,来看这个(我也就是个搬运工)

posted @ 2019-11-11 21:52  weakin  阅读(137)  评论(0编辑  收藏  举报