while(!x)中的!x等价于X==0。
因为while()的括号中放的是一个非零的数(让它一直循环的条件)→为真,即x为非零的数。相反,!x自然就为假了,等价于x==0,这样可以让他一直循环下去。
()c语言是啥!是“逻辑非”操作符,所以!x就是给x取反。在C里,非0为“逻辑真”,用1表示,0是“逻辑假”;所以!x==0实质就是x!=0的意思。所以,while(!x==0)等效于while(x!=0),即当x不等于0时继续循环,一直循环到x变为0时结束。
!x
!
x在c语言语句里面为一个运算,取非,也就是反意的意思,默认所有非0数为真,0为假,也就是说如果前提x为一个非0数,!x的结果就是0,如果x是0,结果就为1(默认值非0为1),而x!=0本身是一个判断语句,如果x本身是0,x!=0不成立,则这个式子值为0表示式子不成立,x等于任意非0数则x!=0成立,式子值为1,!x在括号里面作为判断条件等价于x==0。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论