99问答网
所有问题
一道C语言:已有声明"int x=0,y=2;",则执行语句"y=--x||++y;"后,变量y的值为
如题所述
举报该问题
推荐答案 2013-07-10
y = --x || ++y; 仅执行前半部分的 y = --x,因为x的初值为0,执行--x后,x为-1,故y也是-1,此时逻辑表达式的值为真(非零),后半部分++y不再执行(短路效应,因为对于||表达式,前半部分为真就不再对后半部分求值,无论后面是真与假,都不影响逻辑结果),由此可知,y的值为-1。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/B7OO7W7BX.html
其他回答
第1个回答 2013-07-10
int x=0,y=2;
y=--x||++y;
// 相当于是
--x; // x = -1
++y; // y = 3
y = x || y; //y = -1 || 3 = 1; 这里是逻辑的或运算, 有一个非0就会为1
第2个回答 2013-07-10
y=--x||++y;
按
优先级
先计算 --x和 ++y;
--x 结果x = -1;
++y 结果y=3;
即y = -1 || 3;
所以y = 1;
本回答被提问者和网友采纳
第3个回答 2013-07-10
变量y的值为1
第4个回答 2013-07-10
答案是 1
#include<stdio.h>
void main()
{
int x,y;
x=0,y=2;
y=--x||++y;
printf("%d",y);
}
1
2
下一页
相似回答
大家正在搜
相关问题
已有定义:int x=3,y=2;,则执行语句!x&&(y+...
若有以下定义int x=3,y=2,则表达式y+=x–=y后...
如有声明语句int x=1,y=2,z=3;则执行语句z=x...
C语言:已有声明int x=5,y;float z=2;,则...
菜鸟:简单C语言题目: 设x y t均为int型变量,则执行...
这个为什么? 设有说明语句,int x=0,y=2,则执行 ...
已有声明“int x,a=3,b=2;”,则执行赋值语句“x...
C语言:已有定义int x=3,y=4,z=5;则表达式 !...