如果我写
#define ANOTHER_CONSTANT 200
#define MYDIVISOR 1000/ANOTHER_CONSTANT
然后是一个方法
- (void)result {
NSRange range = [@"--BB-------A----" rangeOfString:@"A" options:NSBackwardsSearch];
int rest = range.location % MYDIVISOR;
NSLog(@"Rest is %i", rest);
}
无论 A 出现在哪里,输出始终是 rest 为 0。我已经通过将 MYDIVISOR 存储到中间整数变量中来解决它,但我想知道为什么它不适用于预定义的常量。有任何想法吗?