若x为int类型,请写出与!x等价的C语言表达式(x=0)?,为什么x=0?
4个回答
展开全部
你说的是判断语句x==0吧?分析如下:
!x:如果x非0,那么!x=0,如果x为0,那么!x=1
x==0:如果x非0,那么x==0判断为假,值为0,如果x=0,那么x==0为真,值为1
由上可知,两种表示法对x的判断效果是一样的,即等价
!x:如果x非0,那么!x=0,如果x为0,那么!x=1
x==0:如果x非0,那么x==0判断为假,值为0,如果x=0,那么x==0为真,值为1
由上可知,两种表示法对x的判断效果是一样的,即等价
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C里有隐式转换,但x为int,是可以当成bool值使用,会自动转换。规律是:当x=0时 为false x为非零值,则为true
分析一下,这个语句
x==0 从int角度分析,如果x为0 则结果 true
!x 这个表达式可以写成!((bool)x)x先转换为bool值,x为0,套用bool转换规律,即为false,而!(false)即为true 非零结果自己分析
所以得到两个在逻辑判断上等价
分析一下,这个语句
x==0 从int角度分析,如果x为0 则结果 true
!x 这个表达式可以写成!((bool)x)x先转换为bool值,x为0,套用bool转换规律,即为false,而!(false)即为true 非零结果自己分析
所以得到两个在逻辑判断上等价
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等于0代表假,非零代表真
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询