C#定义宏 [英] C #define macros
本文介绍了C#定义宏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我所拥有的,我想知道它是如何工作的以及它实际上是做什么的.
Here is what i have and I wonder how this works and what it actually does.
#define NUM 5
#define FTIMES(x)(x*5)
int main(void) {
int j = 1;
printf("%d %d\n", FTIMES(j+5), FTIMES((j+5)));
}
它产生两个整数:26和30.
It produces two integers: 26 and 30.
它是如何做到的?
推荐答案
发生这种情况的原因是因为您的宏将打印内容扩展到:
The reason this happens is because your macro expands the print to:
printf("%d %d\n", j+5*5, (j+5)*5);
含义:
1+5*5 and (1+5)*5
这篇关于C#定义宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文