c语言中 ,为什么b=(-1)&&(-1)最终得出b=1

 我来答
帐号已注销
2021-01-04 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:159万
展开全部

&&是逻辑运算符,两边只有0与非0的差别,非0即为1.-1!=0,所以-1为真,即1,b=(-1)&&(-1)里,括号优先级最高,其次是&&,最后是=,因此先-1&&-1,两边都为真,所以返回真,即1,语句由此变成b=1。

或:

运算规则:

真 && 真 = 真

真 && 假 = 假

假 && 真 = 假

假 && 假 = 假

其中,前面的两个是参与运算的元素,等号后面是运算的结果。

扩展资料:

形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是“正在下雨”和“在屋里”,我们可以将它们组成复杂命题“正在下雨,并且我在屋里”或“没有正在下雨”或“如果正在下雨,那么在屋里”。一个将两个语句组成的新的语句或命题叫做复合语句或复合命题。

参考资料来源:百度百科-逻辑运算符

啊啊啊的帝国号
推荐于2017-09-27 · TA获得超过534个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:41.4万
展开全部
&&是逻辑与运算,逻辑运算符的一种
运算规则是
真 && 真 = 真
真 && 假 = 假
假 && 真 = 假
假 && 假 = 假
其中,前面的两个是参与运算的元素,等号后面是运算的结果
然而在c语言中没有'真'和'假'两个玩意
就用1表示真,0表示假
在运算的时候,0为假,非0即为真
(-1)&&(-1)
这里参与运算的两个值都是(-1),不是0,所以是真
也就是真&&真
结果为真,
在作为运算结果的时候,真用1表示,假用0表示,
所以最终结果是b=1
记住两点
在运算的时候,0为假,非0即为真
在作为运算结果的时候,真用1表示,假用0表示,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
6969548s
2014-06-16 · 超过19用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:44.5万
展开全部
&&是逻辑运算符,两边只有0与非0的差别,非0即为1.-1!=0所以-1为真,即1,b=(-1)&&(-1)里,括号优先级最高,其次是&&,最后是=,因此先-1&&-1,两边都为真,所以返回真,即1,语句由此变成b=1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浪子灬风飞扬
2014-06-16 · TA获得超过196个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:143万
展开全部
因为&&是逻辑运算符,-1不为0,即为真,所以-1&&-1即:真&&真,结果为真,即1
更多追问追答
追问
在吗

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jveakzhu
2014-06-16
知道答主
回答量:6
采纳率:0%
帮助的人:8839
展开全部
逻辑运算符只是判断真值的,楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式