iOS开发-三元运算符

今天遇到一个三元运算符,而没有写第二个c的值,着实让自己困惑了一把

比如:a>b?:c,知道如果a>b成立了,返回的是什么呢?

经测试发现:此时返回的是a>b的结果,一般来说,如果是表达式1(a>b)是比较运算,则返回的就是表达式1(a>b)的结果,一般是 1

如果表达式1 直接就是一个数字,则返回的就是此数字的内容,

测试如下:

int a = 10;

int i = 5;

a = i > 0 ? : 2;

NSLog(@"a = %d", a); //a = 1

int i = 5;

a = i ? : 2;

NSLog(@"a = %d", a); //a = 5

int i = -5;

a = i ? : 2;

NSLog(@"a = %d", a); //a = -5

int i = 0;

a = i ? : 2;

NSLog(@"a = %d", a); //a = 2

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

推荐阅读更多精彩内容