C语言 求表达式的值
设x,y,z,t均为整型变量,则执行以下语句后,t的值为:(1)x=y=z=1;t=x++||++y&&++z;不懂啊,谁来解释一下啊。。。。谢谢。。。。...
设x,y,z,t均为整型变量,则执行以下语句后,t的值为:(1)
x=y=z=1;
t=x++||++y&&++z;
不懂啊,谁来解释一下啊。。。。谢谢。。。。 展开
x=y=z=1;
t=x++||++y&&++z;
不懂啊,谁来解释一下啊。。。。谢谢。。。。 展开
5个回答
展开全部
这个涉及到逻辑与和逻辑或得短路特征(就是如果第一个条件就能判断整个逻辑与和逻辑或的值,第二个条件就不会被执行,比如 1 || ++x, 第一个条件为真,不管后面的值为0还是1,结果都为真,++x是不会被执行的)
这里x为1,根据短路特征,所以整个结果为1,即
t=1, x=2, y=1, z=1.
这里x为1,根据短路特征,所以整个结果为1,即
t=1, x=2, y=1, z=1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先这是一个逻辑表达式,结果只能是0(表示假)或者1(表示真)
在表达式中出现了三个运算符:自加运算符,与逻辑,或逻辑。优先级别为:++>&&>||;
而X,Y,Z的初值都是1;所以不过怎么运算结果都是1;
执行表达式后,X=2;Y=2;Z=2;T=1.
在表达式中出现了三个运算符:自加运算符,与逻辑,或逻辑。优先级别为:++>&&>||;
而X,Y,Z的初值都是1;所以不过怎么运算结果都是1;
执行表达式后,X=2;Y=2;Z=2;T=1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,x++的意思是本句执行完后x+1;
++x的意思为先加1再执行语句功能
所以在t=x++||++y&&++z语句中,x=1,y=2,z=2;
表达式相当于t=1||2&&2;
相当于一个逻辑判断语句,语句为真,所以t=1。
例:t=1||0&&1;
则t=0。
++x的意思为先加1再执行语句功能
所以在t=x++||++y&&++z语句中,x=1,y=2,z=2;
表达式相当于t=1||2&&2;
相当于一个逻辑判断语句,语句为真,所以t=1。
例:t=1||0&&1;
则t=0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t=x++||++y&&++z;
这个可以理解为:
++y; // y = 2
++z; // z = 2
t = x || y && z; // t = 2 || 2 && 1, y 和 z都为真,返回1,x为真,还是返回1,因此t = 1
x++; // x = 2
这个可以理解为:
++y; // y = 2
++z; // z = 2
t = x || y && z; // t = 2 || 2 && 1, y 和 z都为真,返回1,x为真,还是返回1,因此t = 1
x++; // x = 2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询