jmfs.net
当前位置:首页>>关于c语言问题:设x=4,y=(++x)+(++x);那么y的值等于的资料>>

c语言问题:设x=4,y=(++x)+(++x);那么y的值等于

首先++x这种东西,在同一句中最多使用一次,否则会出问题(涉及编译原理,讲不清楚) 此外,y=x++;相当于y=x;x+=1;即先执行完当前的一个语句(以逗号、分号为结束符的语句) 最后,自加、自减运算符在同一句内,永远不要使用两次及以上。 不要尝...

我把你的这个小程序运行了一下,结果确实是12,当我输出x的时候发现x的值是6 。 所以我是这样理解的,++x的作用是让数字x先自加一再在语句中被使用。 而y=(++x)+(++x); 这个语句中x被自加了两次,而只有一个语句,也就是说在运行到分号的时候 x...

C语言的逗号运算符是从左到右运算的,结果是最右边一个表达式的值。 y=(x=3*5, // x 为 15x*4, // 这个值被丢弃x+15 // 15+15,这作为整个表达式的值,被赋给y。)

x++是后置++,是先取x的值,参与运算,然后再把x的值加1 (x++)+y;等价于x+y x=2,y=4,x+y的值为6 如果是(++x)+y;,则值为7

x=y=5, 这句完了之后x=5,y=5 x++*x++ 第一个x还是5,第二个x是6,所以这个表达式的值是30 --y*--y 第一个y是4,第二个是3,所以这个表达式的值是12

x++只能作为右值,而++x既可作为左值又可作为右值。 (意思就是x++只能放在赋值号右面。) 因为x++是把x的值增一,并返回x原来的值,这个值并不储存在变量x的内存地址中,是计算时的一个临时值,因此不能向它赋值。而++x是将x的值增一,并返回x...

这是一个三目运算符,如果 --x 与 y++相等的话,把--x的值赋给a,否则,将++y的值赋给a; 在这里,--x是先对x进行自减1再执行语句,y是再执行完语句再执行y自加1,也就是说现在解析出来的表达式为 x - 1 == y ,后面同理!

参看汇编得 将x的值放一个地址a里 执行 a = a + 1 即第一个++x a的值给x(此时x为4) 再将x的值放一个地址b里 执行 b = b + 1 即第二个++x 将b的值给x(此时x为5) 执行x放到y里(此时y变成5) 再执行 y = y + x(即第一个+)(y变成10) 再将x的值...

28 x++;先利用x参加运算 后++ --y; 先计算-- 后参与运算

假定 int x=10, y; y=++x*--x 看成: y= (++x) * (--x) 分解成: (1) ++x; 得 x=x+1=11; (2) --x; 得 x=x-1=10; (3) 原式 变 y=x * x = 10 * 10 y 得 100, x 终值 10

网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com