宏定义:
1,给传入参数加括号,因为传入参数可能是个表达式
2,给最后生成的表达式加括号
比如:浮点数四舍五入转整数的宏:
#define fToi(f) ((int)((f) * 10) % 10 >= 5 ? (int)((f) + 1) : (int)(f))
如果不给传入的f加括号为(f),则当f是表达式时,可能运算出错。
宏定义:
1,给传入参数加括号,因为传入参数可能是个表达式
2,给最后生成的表达式加括号
比如:浮点数四舍五入转整数的宏:
#define fToi(f) ((int)((f) * 10) % 10 >= 5 ? (int)((f) + 1) : (int)(f))
如果不给传入的f加括号为(f),则当f是表达式时,可能运算出错。