C#定义宏 [英] C #define macros

查看:107
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆