标签:style sp on bs ef amp as size nbsp
带有参数的宏定义:
宏定义是一种替换,所以返回的通常是带有运算符表达式.不能返回语句.
通常用的一些运算符:三目运算符(代替if语句)...&&...||
特殊建议:为了保证准确性,在()中放入变量
下面是一些宏定义的例子/
1,判断字符是不是10进 值的数字 
#define  DECCHK( c ) ((c) >= ‘0‘&& (c) <=‘9‘) 
2,判断字符是不是16进 值的数字 
#define  HEXCHK( c ) ( ((c) >= ‘0‘&& (c) <= ‘9‘) ||\ 
                       ((c) >= ‘A‘‘ && (c) <= ‘F‘‘) ||\ 
((c) >= ‘a‘ && (c) <= ‘f‘) ) 
3,将一个字母转换为大写 
#define  UPCASE( c ) ( ((c) >= ‘a‘ && (c) <= ‘z‘) ? ((c) - 0x20) : (c) ) 
4.取三个数的最大值:(c)>((a)>(b)?(a):(b))?(c):((a)>(b)?(a):(b))
标签:style sp on bs ef amp as size nbsp
原文地址:http://www.cnblogs.com/scbxiang/p/4141037.html