求解释这段代码的作用。看得懂语法但是不懂作用,等于白看了。
#define Q_COLOR_ESCAPE '^'
#define Q_IsColorString(p) ( p && (p) == Q_COLOR_ESCAPE && *((p)+1) && isalnum(((p)+1)) ) // ^[0-9a-zA-Z]
quake3引擎代码。求解释。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2018-12-17 03:35关注
判断一个字符串指针,是不是合法的颜色数字 颜色数字判断的依据: p 首先指针不是NULL,否则是空字符串 (p) == Q_COLOR_ESCAPE 估计是写错了,应该是 *p,表示由 '^'开头 *((p)+1) 字符串长度起码是2 这个应该也写错了,是isalnum(*((p)+1)) ,表示第二个字符是字母或者数字
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报