if(a!=-1)和if(a==0)一样吗?

天津李锤 1年前 已收到1个回答 举报

mowen122 春芽

共回答了10个问题采纳率:90% 举报

如果a是一个逻辑表达式的值的话,取值范围只有-1和0二个值 ,那么上述二者是一样的,否则如果a还有其它取值可能时二者就不一样了.
在C中,没有专门的逻辑型变量,0表示为假,非零值都表示为真.如果a取其它值的话,只要不是-1,前者就满足,取值可能有无限多种;而后者就只有a取值为0一种.

1年前 追问

4

天津李锤 举报

非零值都表示为真,那负数呢?你怎么讲的前后都开始矛盾了呀 哈哈 请问什么时候判断用-1 什么时候用0 什么时候用1呢?

举报 mowen122

-1和其它非0值一样,都是表示真。哪里矛盾了?

天津李锤 举报

好吧,上面的我看错了,你说的没错。不好意思呵呵。请问while((c=System.in.read())!=-1)怎么解释嘞

举报 mowen122

它从系统输入取得值后判断输入值是否等于-1,并返回一个逻辑值。如输入值不等于-1则返回真(用-1表示),否则返回假(0)。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 1.623 s. - webmaster@yulucn.com