www问答网
所有问题
若已定义intx,y,z;执行语句x=(x=1,y=z=2,y++,z++);后,x为什么为2
若已定义intx,y,z;执行语句x=(x=1,y=z=2,y++,z++);后,x为什么为2,不是1吗?
举报该问题
推荐答案 2014-03-18
x为2,这考查的是一个逗号表达式,结果等于最后一个表达的值,因此,先算括号的,1赋值给x,再算2赋值给z,z再赋值给y,此时y==z==2,所以x==2。最后x,y再分别自加1。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/AK335353nWnnAd55nWW.html
其他回答
第1个回答 2014-03-18
结果其实就是
x=z++
先赋值再自加,结果是2
a=(b,c)这种运算,实际上就是a=c 当然前面的运算也是要算的
就这个题
就是相当于
x=1; y=z=2; y++; x=z++本回答被提问者采纳
相似回答
C语言 main
()
{
int x,y,z
x=y=1
z=x
+
(++y
||
++z)
这里面,这个(++y||...
答:
|| 是或运算,若两边的表达式一个为真则整个表达式为真
,++y
的值是2,即为真,不必判断
++z,
所以
(++y
||
++z)
表达式的值为1,则
z =
x
+1 = 2。
main
(
) {
int x,y,z;z=x++,y++,++y
;printf("%d,%d,%d\n"
,x,y,z);
}...
答:
如果给了初值
int x=1,y=
1
,z=
1
;z=x++,y++,++y;
在表达式内
x++, x
值不变,出表达式 它增 1 在表达式内
y++, y
值不变,出表达式 它增 1 在表达式内
++y, y
值 先变,y 从初值1 变成 2。在表达式内
z =
x++, z
得 1 打印时,z 还是 1 x 值 出表达式 它增 1...
C语言真题请教
答:
前面2个题答案解析是对的 最后一个解析有误 Z赋值为逗号运算符中第一个表达式的值;不是第二个,也不是第三个。你可以试着把程序改改运行一下就知道了 include<stdio.h> void main(){
int x,y,z;x=y=1
;
z=x++,++y,++y
;printf("%d,%d,%d"
,x,y,z);
//如果按解析所说,Z应该...
C语言中:
若x=y=1,z=
{x+
x,y++,++y
},输出
x,y,z
的值
答:
x=1,y=
1
z=x++
把x给z,所以z=1,之后
x++,
所以x=2
;y++
原来y=1,现在变成2
++y
前面y
=2,
现在变成3.所以,最后:
x=2
y=3
,x=
1
C语言谁会做??
答:
那肯定是不等的,假,整个表达式的值为0 2. 11 按顺序
执行y=x++;z=x++;
先
执行y=x++;
就是将x的值先附给
y,y
的值变为10,然后x自加
1,x
的值变为11;紧接着
执行z=x++;
和上面一样,先用x的值附给
z,z
的值变为11,x再进行自加。提问者可能认为,不是说x自加减是在执行之后...
若有
int x=1,y=
1
,z=
1||
z++执行
完后
x,y,z
值为多少
答:
x=1 , y =
1
, z=
1;因为 逻辑或操作符(||
),
(
条件1)||(条件
2)
,如果条件1 为真就不会去判断条件2了,只有条件1为假 才会去判断条件2的值
已知
intx=1,y=2,z=
1;表达式"
(++x
)+
(y++
)+
(z++)
的值是4,不是6
答:
这题应该 等于 5 ; ++x 是先+1在取x的值,所以
(++x)
=2
;y++
是先取y值再+
1,(y++
)
=2,z++
是先取z值再+
1,(z++)
= 2 。 放在程序里运行一下,分别用 n、m、o 变量对应 (++x)、(y++)、(z++) 断点调试,一目了然。
设有变量
定义
“
intx=1,y=2,z=
3 ;”,计算下列表达式的值
答:
所以,先有
y=z=
3,然后x=y=3;4)z=1是赋值运算,赋值成功,返回为1,所以x*=y-1
;x=1,y=2,z
=1;5
)y++
引用y=2后y=3,--z是z自减
为2后
引用,所以,x=4,y=3
,z=2;
6)z/=
2后z
=1,然后化为x=x%(z=1),与4)类似
,x=x
%1=0,y=2,z=1。
C语言;
int x,y,z;
x=y=z=2;
++x
||
++y
&&++z; printf("%
答:
完成后由于短路效应,该计算树的右子树被抛弃,于是树根的值为1,计算完毕。这里举另外一个例子:x*y+z*(a+b)计算树如下:x*y+z*(a+b)x*y + z*(a+b)x * y z * (a+b)a + b
大家正在搜
若有定义语句 int a
若有定义语句
case语句后的多个语句必须用
for语句中循环语句不能为空
若有定义intx
若有定义int
已知有函数定义int
以下定义语句中正确的是
多个case共用一组执行语句
相关问题
、定义:int x=1,y=2,z ;执行 z=x>y? x...
如有声明语句int x=1,y=2,z=3;则执行语句z=x...
已知 int x=2,y=1,z;,则执行语句z=!x&&-...
int x=1 y=2,z执行语句z=x>y?x--:y++...
已知int x=1,y=2,z=3;以下语句执行后x,y,z...
经过以下语句定义后,表达式z+=x>y?++x:++y的值为...
若有语句说明:int x=1, y=1, z=2; 以下表达...
执行语句“int x=4,y=25,z=2;z=(--y/+...