c语言!x==y与!x=y有什么区别?x=3,y=4,!(x<0)是什么意思啊?

如题所述

x==y是比较x和y是否相等。
x=y是赋值,把y的值赋值给x
!是逻辑非,对右面部分的否定。!(x<0)当然就是把x<0否了,就是传说中的x不小于0,你高兴的话写成x>=0也随你追问

那!x==y是怎么得出0的啊?

追答

!x==y
!的优先级高于==,也就是判断!x和y是否相等。
!是逻辑非,功能是讲真变假,假变真。而c识别真假的依据就是看值是不是0.是0为假,非0为真。那么!的计算结果,只能是1(真)和0(假)。
至于为什么你给计算机表示真,只要不是0的数就行,而计算机给你表示真却只能是1,这问题很容易回答。我就问你计算机认识几个数你就懂了。计算机就认识俩数,0和1.
这么来说,!x==y,判断!x和y是否相等。返回值为0的话说明不等,根据x的值调整y的值,让!x和y不等就行了

温馨提示:答案为网友推荐,仅供参考
相似回答