c语言中 ,为什么b=(-1)&&(-1)最终得出b=1
5个回答
展开全部
&&是逻辑运算符,两边只有0与非0的差别,非0即为1.-1!=0,所以-1为真,即1,b=(-1)&&(-1)里,括号优先级最高,其次是&&,最后是=,因此先-1&&-1,两边都为真,所以返回真,即1,语句由此变成b=1。
或:
运算规则:
真 && 真 = 真
真 && 假 = 假
假 && 真 = 假
假 && 假 = 假
其中,前面的两个是参与运算的元素,等号后面是运算的结果。
扩展资料:
在形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是“正在下雨”和“在屋里”,我们可以将它们组成复杂命题“正在下雨,并且我在屋里”或“没有正在下雨”或“如果正在下雨,那么在屋里”。一个将两个语句组成的新的语句或命题叫做复合语句或复合命题。
参考资料来源:百度百科-逻辑运算符
展开全部
&&是逻辑与运算,逻辑运算符的一种
运算规则是
真 && 真 = 真
真 && 假 = 假
假 && 真 = 假
假 && 假 = 假
其中,前面的两个是参与运算的元素,等号后面是运算的结果
然而在c语言中没有'真'和'假'两个玩意
就用1表示真,0表示假
在运算的时候,0为假,非0即为真
(-1)&&(-1)
这里参与运算的两个值都是(-1),不是0,所以是真
也就是真&&真
结果为真,
在作为运算结果的时候,真用1表示,假用0表示,
所以最终结果是b=1
记住两点
在运算的时候,0为假,非0即为真
在作为运算结果的时候,真用1表示,假用0表示,
运算规则是
真 && 真 = 真
真 && 假 = 假
假 && 真 = 假
假 && 假 = 假
其中,前面的两个是参与运算的元素,等号后面是运算的结果
然而在c语言中没有'真'和'假'两个玩意
就用1表示真,0表示假
在运算的时候,0为假,非0即为真
(-1)&&(-1)
这里参与运算的两个值都是(-1),不是0,所以是真
也就是真&&真
结果为真,
在作为运算结果的时候,真用1表示,假用0表示,
所以最终结果是b=1
记住两点
在运算的时候,0为假,非0即为真
在作为运算结果的时候,真用1表示,假用0表示,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&&是逻辑运算符,两边只有0与非0的差别,非0即为1.-1!=0所以-1为真,即1,b=(-1)&&(-1)里,括号优先级最高,其次是&&,最后是=,因此先-1&&-1,两边都为真,所以返回真,即1,语句由此变成b=1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑运算符只是判断真值的,楼上正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询