working

双目运算符的计算优先级(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

面试官可以把这道题收去,坑死那些不仔细的面试者了

上一篇 下一篇

猜你喜欢

热点阅读