c语言三元运算符a:b?c你知道多少

来源:互联网 发布:java实施工程师做什么 编辑:程序博客网 时间:2024/06/08 17:35
今天遇到一个三元运算符,而没有写第二个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 = 1int i = 5;a = i ? : 2;NSLog(@"a = %d", a); //a = 5int i = -5;a = i ? : 2;NSLog(@"a = %d", a); //a = -5int i = 0;a = i ? : 2;NSLog(@"a = %d", a); //a = 2



0 0
原创粉丝点击