c语言宏定义计算, #define f(x) x*x main() ( int i i=f
2个回答
展开全部
这代码都是错的,
怎么可能会输出i是3.
宏函数和函数最根本的区别就是,
宏函数真的是你传的闹胡啥,
它就变成啥,
就按你传的数据来说:
f(x)
第一个f的x就是4
+
4,
那么在宏函数里x就会被替换,
注意是猜弯轮替换,
成4+4,
即:
f(4
+
4)
等同于
4+4
*
4+4
而f(2+2)是同理,
它等同于穗信2+2*2+2
宏它是一种纯文本的改变,
可以说预处理器它就是一个自动的文本编辑器,
把一些特定的单词,
换成另一些字符.
怎么可能会输出i是3.
宏函数和函数最根本的区别就是,
宏函数真的是你传的闹胡啥,
它就变成啥,
就按你传的数据来说:
f(x)
第一个f的x就是4
+
4,
那么在宏函数里x就会被替换,
注意是猜弯轮替换,
成4+4,
即:
f(4
+
4)
等同于
4+4
*
4+4
而f(2+2)是同理,
它等同于穗信2+2*2+2
宏它是一种纯文本的改变,
可以说预处理器它就是一个自动的文本编辑器,
把一些特定的单词,
换成另一些字符.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询