我在做一些随机的事情,我想出了int a = !3;
,当我输出该值时,我期待一个错误,但是却得到了 0 。
为什么会发生这种情况?在该示例中!意味着什么?
答案 0 :(得分:4)
!
是BOOLEAN NOT
运算符,即!true == false
和!false == true
。在C和C ++中,与布尔运算符一起使用时,每个非零值都将被视为true
。 false
的数字为0
。因此3
被视为true
和!3 = !true = false = 0
。
答案 1 :(得分:1)
!3是一个表达式,其计算结果为布尔型。 在此示例中,其结果为false。
可以将bool强制转换为一个int,将其分配给int时会自动发生。 false的int表示为'0',而true为'1'。
答案 2 :(得分:0)
“否定”值。任何非零的内容都变成0
,而0
变成1
。