c++ bool

boolabc,def;abc=(5>6||7<=7);cout<<abc<<endl;def=abc&&0;cout<<def<<endl;abc是1因为7<=7是正确... bool abc, def;
abc = (5 > 6 || 7 <= 7);
cout << abc << endl;
def = abc && 0;
cout << def << endl;

abc是1因为7 <= 7是正确的,对吗
def那句我解不懂,也不知道为什麼是0
展开
 我来答
lyymin
2014-10-31 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:96.2万
展开全部
bool类型是逻辑类型,只有“真”,“假”两个值,真值以1表示,假值以0表示。
而&&是逻辑运算符,表示只有&&两边都为真的情况下,返回真值,否则返回值为假。
所以def那句里面&&的左边“abc"是真,但右边的0表示”假“的意思,所以整个表达式的值就是”假“。
所以def输出的值就是0了。
追问
如果def = abc && 1呢

右边的1或者0是指def这句还是abc的句子
追答
def = abc && 1的话def的值就是1。
多说一句,bool类型将所有的非零值都认为是真,所以你也可以试试 abc && 2或者abc && 3...
看看有什么结果~~
陈宗权8d804
2014-10-31 · TA获得超过3766个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:945万
展开全部
||表示“或者”,前后有一个为真结果就为真,在你的代码abc = (5 > 6 || 7 <= 7);里是7<=7正确;
&&表示“而且”,前后有一个为假结果就为假,在你的代码def = abc && 0里是0为假。
输出的时候,“真”用1表示,“假”用0表示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式