请问“?”在C语言里代表什么意思?
还有" ~ "代表什么意思?
最近遇到这个题,不会阿
参考答案:“?”是三目运算符“?:”中一个。
例如:b = a > 3 ? 3 : 0;
意思就是如果a大于3,则b = 3;如果a 小于等于3,则b = 0;
~是取反的意思
例如:b = ~a;
意思就是b等于a的“反”。
反就是逐位取反的意思,在计算机中都是二进制树,如:
十进制 -- 二进制
10 ------ 1010
11 ------ 1011
12 ------ 1100
13 ------ 1101
14 ------ 1110
15 ------ 1111
。。。。
取反就是将二进制位中的0变为1,1变为0
如:
~1011 = 0100 (即:~11 = 4)
~1100 = 0011 (即:~12 = 3)
~0101 = 1010 (即:~5 = 10)
。。。