I didn't think this was possible but apparently in Objective C it is allowed:
int a = b ?: c;
So you see what they're doing here, they're leaving out the second part of the ternary expression, such that if b is nonzero, b is used as the second part.
It's clever but as far as I know this is against K&R C, and probably ANSI C.
If not, I've been missing out of a terribly clever syntax trick for years...alas!
Update:
It is gcc.
question from:
https://stackoverflow.com/questions/8760561/is-this-ternary-conditional-correct-objective-c-syntax 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…