为什么k==0时,则ik==0为假
带了个!我就不会判断了
可以帮我解答一下吗么
如果k==0为真,那么代表k等于0,也就是‘假’,而!的优先级比==高,那么!k==0就等价于(!k)==0,!k就是非0的意思,自然就不等于0。
!是取反符号啊
true取反就是false,false取反就是true,这属于语法常识,好比1+1=2,就这么规定的,没有为什么,要是当初规定1+1=3,那么它就是等于3
而c语言中各种值类型可以相互隐式转换,k是int型,那么当它执行取反操作时,要先转换成bool型
规则是0转换为false,非0转换为true,取反之后,跟0比较之前,又要重新转换回int型,那么true转换为1,false转换为0
!是取非,真变成假,假变成真
若k==0为真,则!k==0为假。
!为非,与!相接的任何值真值都取反
!代表取反,表达式返回得值一般为布尔型,比如int k=0,if(k==0)则表示为真,则取反就为假。