A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© M.W 中级黑马   /  2016-7-7 14:30  /  866 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用的参数称为实际参数。
对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。

带参宏定义的一般形式是;
#define  宏名(形参表列)  字符串

//有参宏
#defineSUM(a)a + b
#defineM(x, y)x * y + x + y
#define M1(a, b)a + 3 * y

int main(intargc, const char * argv[]) {
    // insertcode here...

    int b = 3;
    int result = SUM(3); //在调用中要把实参带入
    printf("result =%d\n", result);

    int result2 = M(2, 3);
               //x * y + x + y
                //2 * 3 + 2 + 3 = 11
    printf("result2 =%d\n", result2);

    int y = 2;
    int result3 = M1(4, 5);
           //a + 3 * y
            //4 + 3 * 2 = 10
    printf("result3 =%d\n", result3);


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马