C/C++标准误导篇
2016-05-14 21:22
281 查看
1.使用宏定义时,能否使用自加或自减
这样写很容易误导以为a已经自加,b=49,实际上是使用宏后在自加,这样写是不规范的,应该在使用宏时,禁止使用自加自减,因为宏参数是不会发生改变的
2.操作符
2.1 当除操作符的运算量是整型量时,运算结果也是整型。
如:3/5=0
2.2 求余操作符的运算量只能是整型。
如:3%2=1,而3.0%2有误
(3)自加、自减操作
#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
相关文章推荐
- C++中模板类引入
- faster_rcnn c++版本的 caffe 封装,动态库(2)
- c++中string类成员函数的总结
- 第7周 C语言程序设计(新2版) 各类位运算符定义
- 关于C语言的问卷调查(补交)
- C++变量和基本类型
- C++_(矩阵)快速幂
- C++_FatMouse' Trade(贪心)
- 第7周 C语言程序设计(新2版) 例题 3个函数例题
- C++builder Property属性
- Java和C语言,C++语言主要差别
- C++ primer plus 第十章课后习题,原创答案。
- C++primer知识点(五)(终结C++primer)
- C++primer知识点(四)
- C++primer知识点(三)
- C++primer知识点(二)
- C++primer知识点(一)
- A*启发式搜索
- [C++]Random库--正态分布
- HDU 2955-Robberies(01背包变形)