C/C++标准误导篇

1.使用宏定义时,能否使用自加或自减

#define SQ(a) ((a) * (a))
void main()
{
    int a = 6;
    int b;
    b = SQ(a++);
    printf("%d %d   \n",a,b);
    return;
}
结果:
8 36 

这样写很容易误导以为a已经自加,b=49,实际上是使用宏后在自加,这样写是不规范的,应该在使用宏时,禁止使用自加自减,因为宏参数是不会发生改变的

2.操作符
2.1 当除操作符的运算量是整型量时,运算结果也是整型。
如:3/5=0
2.2 求余操作符的运算量只能是整型。
如:3%2=1,而3.0%2有误
(3)自加、自减操作

k = 2;
x = k++;
结果:x = 2,k = 3
k = 2;
x = ++k;
结果:x = 3,k = 3
k = 2;
x = k--;
结果:x = 2,k = 1
k = 2;
x = --k;
结果:x = 1,k = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值