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);
谁能回答下下面的追问 展开
b=a++&&c++;
d=a++||++c;
n=b>a;
k=n&&(m=a);
谁能回答下下面的追问 展开
3个回答
展开全部
&&只能判断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。
希望有所帮助。
这个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。
希望有所帮助。
展开全部
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
真 真 假 假 真 真
真 假 假 真 假 真
假 真 真 假 假 真
假 假 真 真 假 假
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b=0,d=1,n=0,k=0;b,d,n,k 均为逻辑值,答案要么为0,要么为1;‘&&’是与运算,‘||’是或运算,‘>’的级别比‘=’要高。a++代表先用再加,++c代表的是先加在用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询