c语言:int x,y,z,w; x=y=z=1; w=++x||++y&&++z; 经过计算后w,x,y,z的值分别为多少,为什么?

c语言:intx,y,z,w;x=y=z=1;w=++x||++y&&++z;经过计算后w,x,y,z的值分别为多少,为什么?... c语言:int x,y,z,w; x=y=z=1; w=++x||++y&&++z; 经过计算后w,x,y,z的值分别为多少,为什么? 展开
 我来答
ge2008ge12
推荐于2018-05-01 · TA获得超过1110个赞
知道小有建树答主
回答量:683
采纳率:100%
帮助的人:343万
展开全部
#include<iostream>
using namespace std;
int main()
{
int x,y,z,w;
x=y=z=1; //x=1,y=1,z=1;
w=++x||++y&&++z;//x=2,因为++x之后x=2;++x整个表达式也为2>0,所以||后的运算就停止了w= 1;y=1;z=1;
///或运算遇到大于等于0就返回1.不再向后计算。

cout<<"w="<<w<<endl;
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
cout<<"z="<<z<<endl;

return 0;
}
结果:w=1.x=2.y=1,z=1
xlynlky
2011-11-02 · TA获得超过145个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:102万
展开全部
x=y=z=1
++x,所以x=2,又因为||运算符的规则是左边为真,右边就不需要算了,所以y=1不变
++z,所以z=2
所以得x=2,y=1,z=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闫孟乔孟孟
2011-11-02
知道答主
回答量:23
采纳率:0%
帮助的人:3.8万
展开全部
x=1 y=1 z=1 w=3
前方提 x=y=z=1
w=++x||++y&&++z
w=x+y+z int
即为x=1 y=1&& z=1 w=3
懂了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式