双目运算符的计算优先级(iOS-OC)
2017-07-05 本文已影响63人
zhangyin
阅读以下代码:
NSInteger a = 0;
NSInteger testCount = 100 - a>0?1:a - 100;
NSLog(@"testCount = %zd",testCount);
问:
NSLog 的输出是多少?
这个表达式很容易被理解成以下这样:
testCount = 100 - (a>0?1:a) - 100;
但是,实际上应该理解成这样:
testCount = (100-a)>0?1:(a-100);
所以,答案为:
testCount = 1
面试官可以把这道题收去,坑死那些不仔细的面试者了