宏定义计算a和b的乘积C语言,由宏定义来实现求两个数的乘积和商数之笔试实例...

解:#include

main()

#define product(a,b) (a*b)

#define divide(a,b) (a/b)

{

float result,n1,n2;

printf(“input n1:”);

scanf(“%f”,&n1);

printf(“input n2:”);

scanf(“%f”,&n2);

result=product(n1,n2);

printf(“%f\n”,result);

result=divide(n1,n2);

printf(“%f/n”,result);

}

拓展:

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

#define ()

其中, 是一个标识符,中的参数可以是一个,也可以是多个,视具体情况而定,当有多个参数的时候,每个参数之间用逗号分隔,由宏定义来实现求两个数的乘积和商数之笔试实例》(https://www.unjs.com)。是被替换用的字符串,宏体中的字符串是由参数表中的各个参数组成的表达式。例如:

#define SUB(a,b) a-b

如果在程序中出现如下语句:

result=SUB(2, 3);

则被替换为:

result=2-3;

如果程序中出现如下语句:

result= SUB(x+1, y+2);

则被替换为:

result=x+1-y+2;

在这样的`宏替换过程中,其实只是将参数表中的参数代入到宏体的表达式中去,上述例子中,即是将表达式中的a和b分别用2和3代入。

我们可以发现:带参的宏定义与函数类似。如果我们把宏定义时出现的参数视为形参,而在程序中引用宏定义时出现的参数视为实参。那么上例中的a和b就是形参,而2和3以及x+1和y+2都为实参。在宏替换时,就是用实参来替换中的形参。

注意问题

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值