双目运算符的计算优先级(iOS-OC)

阅读以下代码:

    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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容