您的位置:首页 > 编程语言 > C语言/C++

C/C++标准误导篇

2016-05-14 21:22 281 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: