c++基础 解释下这段代码每句什么意思和计算机选哪个做答案 为什么 非常感谢

inta=0,b=1,c=2,d=3,m,n,k;b=a++&&c++;d=a++||++c;n=b>a;k=n&&(m=a);谁能回答下下面的追问... int a=0,b=1,c=2,d=3,m,n,k;
b=a++&&c++;
d=a++||++c;
n=b>a;
k=n&&(m=a);
谁能回答下下面的追问
展开
 我来答
White_MouseYBZ
2013-03-30 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6642万
展开全部
&&只能判断0或1么?——不。&&什么也不判断,它是逻辑与操作符。当它前后的两个变量都不为0时结果为“真”,用1表示;当其中一个变量为0时结果为“假”,用0表示。

这个a++应该是1吧——当a原来是1时,a++执行后a便为1,但要注意b=a++执行后b=0,a=1,原因是++写在a后面,叫后增1符,要等a的值赋给b后,a的值才加1。

n=b>a;是不是这个式子不成立,都会取值为0——不。b=1,而a=0,故b>a是成立的,所以b>a的逻辑结果是“真”,“真”用1表示,所以最后n=1。

k=n&&(m=a); 等效于 k=(0&&0) (0&&0)=1;——又错了。n=1,m=a=0,所以k=1&&0=0,因此最后k=0。

希望有所帮助。
你若不言
2013-03-30 · 超过15用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:24万
展开全部
int a=0,b=1,c=2,d=3,m,n,k;  第一句没问题
b=a++&&c++; (a++)=0,(c++)=2.0&&2=0,
d=a++||++c; (++c)=3,(0||3)=1 等效于d=(0||3)
n=b>a; 等效于n=(b>a) b>a是假(此时b=0),其值为0
k=n&&(m=a); 等效于 k=(0&&0) (0&&0)=1;
任何表达式都有确定的值,关系表达式的值是逻辑值,即“真”或“假”
在c++中用数值1代表真,用0代表假
追问
b=a++&&c++    a++=0  c++=2   &&只能判断0或1么?
d=a++\\++c 这个a++应该是1吧
n=b>a;是不是这个式子不成立,都会取值为0
k=n&&(m=a) 是0&&1 真或假是固定的么 ,前面代笔真后面代表假 所以他的输出是0
追答
b=a++&&c++    a++=0  c++=2   &&只能判断0或1么?
*******************************************
//对于逻辑运算(&&、||、!任何数值类型(包括字符型、浮点型、指针型)都可以出现,
在进行逻辑运算时,数据只分为0(假)和非0(真),系统以0和非0来判定是属于“真”还是“假”。
*******************************************
d=a++\\++c 这个a++应该是1吧
******************************************
a++:在使用a之后,a的值再加1,如果a=3,执行完b=a++后,b的值为3,而a的值变为4;
++a:在使用a之前,a的值加1,如过a=3,执行完b=++a后,b的值为4,a的值也为4;
a--和--a也类似。
*******************************************
n=b>a;是不是这个式子不成立,都会取值为0
*******************************************
主要看(b>a)的真假,如果(b>a)为真,n=1,否则为假,n=0
*******************************************
k=n&&(m=a) 是0&&1 真或假是固定的么 ,前面代笔真后面代表假 所以他的输出是0
*******************************************
你知道真值表吗?上网查查吧
&&:这是逻辑运算符“与”,
||:这是逻辑运算符“或”,
!:这是逻辑运算符“非”。
还是打给你吧
 a        b        !a        !b       a&&b        a||b
真        真        假        假        真           真
真        假        假        真        假           真
假        真        真        假        假           真
假        假        真        真        假           假
 
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九霄环佩2013
2013-03-29
知道答主
回答量:33
采纳率:0%
帮助的人:16.7万
展开全部
b=0,d=1,n=0,k=0;b,d,n,k 均为逻辑值,答案要么为0,要么为1;‘&&’是与运算,‘||’是或运算,‘>’的级别比‘=’要高。a++代表先用再加,++c代表的是先加在用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式