已知int x=1,y; 执行 y=++x>5&&++x<10;语句后,x的值为多少呢? 谢谢高人回答哦

如题所述

首先要明白++x和x++的区别,++x是变量x先进行自加,运算结果再参与运算,x++是x先参与运算,之后变量再自加,明白这个这个问题就不难了。
之后再看表达式,Y是一个boolean值,是两个表达式&&之后的结果,对&&操作符来说,如果前面的表达式为真,再运算后面的表达式,两者取与运算,如果前面的表达式为假,将不会执行后面的表达式,无论真假,Y结果都是假,对于||操作符,无论前面的表达式真假,后面的都会执行,对于前面的表达式:++x>5来说,由于先自增使得x=2,2>5不成立,表达式不再继续运算,最终结果便为:x=2,y=false.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-17
表达式y=++x>5&&++x<10,理论上是应该先执行++x>5,然后执行++x<10,然后两结果相与,再赋值给y。但是由于++x=2,显然是小于5的,也就是说++x>5的结果为0,而0与任何值相与结果总是0。此时计算机就对这一运算进行了优化,当发现&&左边的式子结果为0,那么整个表达式的结果就是0,而不再对&&右边的式子进行运算。
所以x的值为2
第2个回答  2010-10-17
x=2. y=++x>5这个不成立,后面的++x没有执行。

...执行 y=++x>5&&++x<10;语句后,x的值为多少呢? 谢谢高人回答哦_百 ...
由于先自增使得x=2,2>5不成立,表达式不再继续运算,最终结果便为:x=2,y=false.

已知int x=1,y;执行语句y=++x>5&&++x<10后变量x的值是() A.1 B.2...
是2了,因为x自加一次变成2,赋给y,y=2,所以(y=++x)的值为2,所以(y=++x>5)为0,即为假,所以不再执行后面的++x<10,所以x最后为2‘;

C语言基础题,帮忙做下 谢谢
36 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是__C__。A) 0 B) 1 C) 5 D) 6 37 使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是__C__。A) 25,2.4 B) 25□2.4 C) x= 25,y=2.4 D) x= 25□y=2....

int x=1,y=2,执行表达式(x>y)?++x;++y后,x和y的值??
我的 int x=1,y=2,执行表达式(x>y)?++x;++y后,x和y的值?? 我来答 1个回答 #热议# 生活中有哪些成瘾食物?皮鞋你妹啊 2016-10-09 知道答主 回答量:19 采纳率:50% 帮助的人:2.8万 我也去答题访问个人页 展开全部 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 为你推荐:特...

已知int x=1;,则执行语句x>5||++x;后,变量x的值是
因为在或运算里,只要有一个真就退出,所以如果x>5的话实际不会执行后面的++x,不过因为x=1<5,所以还是得执行后面的++x,因此x的值为2

已知int x=1;,则执行语句x>5&&++x;后,变量x的值是__25__ A)4_百度...
这是c语言的短路原理,&&符号两边的表达式同时成立,该逻辑表达式成立,现在x>5的关系表达式不成立,逻辑运算符&&右边的表达式不做,故++x不执行,x维持原值。选D 1

...void main() { int x=1,y; y=++x*++x; printf("%d\\n",y); }_百 ...
1。i-- i 参与运算后,i 的值再自减 1。解答问题:x=1为初始化值.y=++x * ++x;第一个++x, x=2;第二个++x, x=3; 同样道理 第一个++x 也=3; 因为x的内存地址不变.第二个++x加了1后=3.第一个++x也会改变自身的值.所以:结果=9 在visual C++6.0编译后结果=9 ...

...x,y;则执行y=(x=1,++x,x+2);语句后,y的值是多少?答案是4,怎么看的...
括号中是逗号表达式,逗号表达式一直计算直至遇到分号,返回最后一个表达式的值 先计算x=1,即给x赋值 再计算++x;此时x=2;后x+2,值为4,遇到分号,将这个值返回,赋给y,则y为4

...{ int x=1,y; y=++x*++x; printf("x=%d,y=%d",x,y); return 0; }...
1,这是因为c99 标准没对一个语句中两个自增做规定,一条语句中两个自增在不同编译器编译结果不同。2, 编译器通常把同一变量放于某一通用寄存器,再把运算结果放于另一寄存器, 在这里显然是x再做了两次自增后放于一个寄存器,然后对其取平方的。

int x = 1,y; y = x++ + x++; 求y的值。答案为y = 2,求详细解答...
语序为 y = (x++) + (x++) ; 优先级问题··· ++运算符是传值后+1 , 等价y = x + x; x+1;x+1 最后y=2,x=3

相似回答