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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容