关于define的注意事项

代码:
01  #include <iostream>
02  using  std::cout;
03  using  std::endl;
04 
05  #define A(x) (x)*(x);
06  #define B(x)  x*x;
07  void  main(){
08       int  a,b= 3;
09       a=A(b+ 2);
10       std::cout<<a<<std::endl;
11       a=B(b+ 2);
12       std::cout<<a<<std::endl;
13 }

A(X)和B(X),差别只在于后面 x有没有加括号。结果却不一样:
关于define的注意事项

第一种情况带入后其实是:(b+2)*(b+2)=(5)*(5)=25;
第二种情况带入后其实是:b+2*b+2=3+2*3+2=11。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值