欢迎访问文稿网!

带参数的宏定义

范文之家 分享 时间: 加入收藏 我要投稿 点赞

带参数的宏定义

    5.6.2 带参数的宏定义

    带参数宏定义的一般形式为:

    #define 宏名(形参表列) 字符串

    带参数宏调用的一般形式为:

    宏名(实数表列)

    例如:

    img313

    前一个为宏定义,用字符串x*x+3*x+2代替L(x),即L(x)的值为x*x+3*x+2的值。后一个为宏调用,y=L(5)的值为5*5+3*5+2。

    例5.29

    程序如下:

    img314

    程序运行结果如下:

    img315

    注意:

    ①宏名和形参表列之间不能有空格出现。

    ②形参应为变量,实参可以是常量,也可以是具体表达式。

    ③为了避免出错,通常用括号将宏定义中形参括起来。

    例如:

    情形1:#define fun(x) y*y

    如果y=fun(x+1);经过宏替换后,y的值为x+1*x+1。

    情形2:#define fun(x) (y)*(y)

    如果y=fun(x+1);经过宏替换后,y的值为(x+1)*(x+1)。

    可以看出:上面两种情况下的y 值明显不同。

221381
领取福利

微信扫码领取福利

微信扫码分享