c语言中的 ? 操作符号 是什么意思?

public unsafe static long RunLCN(byte* pRun)
{ byte n1 = (byte)(*pRun & 0x0f);
byte n2 = (byte)((*pRun >> 4) & 0x0f);

byte lcnCheck = (n2 == 0) ? (byte)0 : (byte)(pRun[n1 + n2]);
这个怎么理解n2=0 时,
n2不等于0时,n2=n1+n2

三目运算。格式是: 条件 ? 条件为真时的值或语句 : 条件为假时的值或语句
a=b?c:d; //这里就表示 if(b) a=c else a=d
还可以这么写: b?a=c:a=d;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-03
条件运算符优先级高于赋值、逗号运算符,低于其他运算符。没反应过来。追问

搞明白了,谢谢!

相似回答