int x=2,y=0;则表达式(y=0)?x/++y:x-2的运算结果是什么?

路遥20092022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
look222wo 共回答了15个问题 | 采纳率86.7%
运算结果为:0
(y=0)?x/++y:x-2
这个三元运算表达式按照运算符优先级解析结果如下:
判断y=0的返回值:
返回值为1,整个表达式的值为:++y
返回值为0,整个表达式的值为:x-2
注意是y=0,不是y==0,
y=0是一个赋值表达式,其返回值等于右值,也就是y被赋值为多少,返回值就是多少
所以y=0的返回值为0
整个表达式的值为:x-2
由于x=2,所以整个表达式的值为0
1年前

相关推荐

设有定义:int x=2;,以下表达式中,值不为6的是() A x*=x+1 B x++,2*x C x*=(1+x)
设有定义:int x=2;,以下表达式中,值不为6的是() A x*=x+1 B x++,2*x C x*=(1+x) D 2*x,x+=2
c程序试题
撒哈拉的QQ1年前1
mipe 共回答了16个问题 | 采纳率87.5%
A:变形形式为:x=x*(x+1);结果为2*3=6;
B:x++,x为3;2*x=2*3=6,结果为6;
C:变形形式为:x=x*(1+x);结果为6;
D:2*x为4,但是x的值没有变;x+=2 变形为 x=x+2=2+2=4,结果为4;
考察逗号的运算,从左向右进行运算:D中只是进行2*x的运算,没有付给变量且x的值没有变化;而B中执行的是x++:x自增的操作,x变为3.不知道你明白了吗.
请采纳.
设有定义int x=2;,以下表达式中,值不为6的是?A x++,2*x B 2*x,x+=2
宵xiao1年前1
Sourwind 共回答了18个问题 | 采纳率100%
A
结果为4
x++和2*x同在一个都好表达式中,所以执行完x++后,由于还在一个表达式里,所以,x的值认为2
懂了吗?
#include void main() { int x=2,y; switch(x) { case 1:y=x ; b
#include void main() { int x=2,y; switch(x) { case 1:y=x ; break; case 2:y=-x ; case 3:
y=x*3 ; break;
case 4:y=4*x;
printf(“%dn”,y);
}
蓝ffshuijin1年前1
shchangr 共回答了13个问题 | 采纳率84.6%
输出:
6
执行部分为:
case 2: y=-x ;
case 3:y=x*3 ; break;
int x=2,y=3,z=4; 则表达式x+y&&(x=y)的值为_____.【参考答案】 1 为什么?
macro77711年前1
名字想半天11 共回答了16个问题 | 采纳率93.8%
表达式x+y&&(x=y)等价于(x+y)&& (x=y),x+y=5,x=y是将y赋给x,故x=3.5 && 3 = 1
注意两点:1、运算优先级 2、x=y 与 x==y的区别,前者为赋值表达式,后者为逻辑表达式
int x=2; x*7.2/x+1 等于几
风尚小李1年前1
lhztop 共回答了22个问题 | 采纳率95.5%
8.1
虽然x为int型,但是乘7.2后结果为浮点型,所以/之后还是浮点型的
从语言问题:已知声明int x=2; 以下表达式中值不等于8的是()求选项D的解释
从语言问题:已知声明int x=2; 以下表达式中值不等于8的是()求选项D的解释
A.x+ = 2,x *2
B.x + = x* = x
C.( x+ 7)/ 2*( (x +1)%2 +1)
D.x*7.2/x +1
D
灌水清泉1年前1
cxf8899 共回答了27个问题 | 采纳率88.9%
x*7.2/x +1
=2*7.2/x+1
=7.2+1
=8.2 //这个表达式的值为8.2,类型是double型.

大家在问