求解一道C语言选择结构的题目
9.下列程序段执行后,变量k、x、y、z的值依次为intk,x,y,z;x=y=z=0;k=x++&&y++||++z;答案是1101,可k为什么等于1呢,x不是先判断再...
9. 下列程序段执行后,变量k、x、y、z的值依次为
int k,x,y,z;
x=y=z=0;
k=x++&&y++||++z;
答案是1101,可k为什么等于1呢,x不是先判断再加1吗 展开
int k,x,y,z;
x=y=z=0;
k=x++&&y++||++z;
答案是1101,可k为什么等于1呢,x不是先判断再加1吗 展开
TableDI
2024-07-18 广告
2024-07-18 广告
在上海悉息信息科技有限公司,我们处理数据时经常使用到表格匹配函数。匹配函数如`VLOOKUP`(垂直查找)在Excel中特别常见,它能在某一区域的首列中查找指定值,并返回该行中指定列处的值。这样的函数在处理大量数据时非常高效,能够快速定位和...
点击进入详情页
本回答由TableDI提供
展开全部
楼上的不对吧,如果真的按楼上的解释则X=y啊,显然两者不相等。
运算过程如下:
k = (x++&&y++) || (++z)=((x++&&y)++) || (++z)=((1&&0)++)||(++z)=(0++)||(++z)=1||1=1
因此可以解释为什么x、y不相等。因为y并没有进行自增运算,而x进行了自增运算。
运算过程如下:
k = (x++&&y++) || (++z)=((x++&&y)++) || (++z)=((1&&0)++)||(++z)=(0++)||(++z)=1||1=1
因此可以解释为什么x、y不相等。因为y并没有进行自增运算,而x进行了自增运算。
追问
可是++的优先级高于&&呀?
追答
我写了下代码,这么分析不对啊。抱歉啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
故弄玄虚的做法,老老实实加上括号才是王道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&&优先级比||高,相当于k = (x++&&y++) || (++z) = 0 || 1 = 1
追问
那y为什么等于0呢,&&不是左边为真,右边就要判断吗?y加1了呀
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询