请问“?”在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)
。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-12
是个"与或"符号的后面一半.
第2个回答  2007-03-12
print
显示,有运算功能
第3个回答  2020-02-29
1、?一般跟:一起出现的(?:)是一个三目运算符,比如

(a>b)?a:b意思是:先计算a>b如果正确,则执行a,不然执行b
2、~取反运算符(单目运算符),按位置反(0->1或1->0)
比如~2=-3意思是:2的补码0000
0010--取反-->1111
1101(-3的补码)-->1111
1100(-3的反码)-->1000
0011(-3的原码)
相似回答