一道C语言:已有声明"int x=0,y=2;",则执行语句"y=--x||++y;"后,变量y的值为

 我来答
xoaxa
2013-07-10 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3425万
展开全部
y = --x || ++y; 仅执行前半部分的 y = --x,因为x的初值为0,执行--x后,x为-1,故y也是-1,此时逻辑表达式的值为真(非零),后半部分++y不再执行(短路效应,因为对于||表达式,前半部分为真就不再对后半部分求值,无论后面是真与假,都不影响逻辑结果),由此可知,y的值为-1。
ayktx
2013-07-10 · TA获得超过668个赞
知道小有建树答主
回答量:946
采纳率:33%
帮助的人:411万
展开全部
int x=0,y=2;
y=--x||++y;
// 相当于是
--x;  // x = -1
++y;  // y = 3
y = x || y; //y = -1 || 3 = 1;  这里是逻辑的或运算, 有一个非0就会为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾守护奇迹
2013-07-10 · TA获得超过202个赞
知道小有建树答主
回答量:237
采纳率:66%
帮助的人:154万
展开全部
y=--x||++y;
优先级先计算 --x和 ++y;
--x 结果x = -1;
++y 结果y=3;
即y = -1 || 3;
所以y = 1;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
向往自由7
2013-07-10 · TA获得超过104个赞
知道答主
回答量:141
采纳率:80%
帮助的人:37万
展开全部
变量y的值为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
崔锁哈516
2013-07-10 · 超过16用户采纳过TA的回答
知道答主
回答量:34
采纳率:53%
帮助的人:17.7万
展开全部
答案是 1
#include<stdio.h>
void main()
{
int x,y;
x=0,y=2;
y=--x||++y;
printf("%d",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式