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

#include void main(){ int x=2,y=3; //(1)先算x+y,值为5 //(2)然后算x*=5,即: x=x*5=10 x *= x+y; printf("x = %d\n",x);}

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

执行顺序上,数学运算符高于逻辑运算符;逻辑运算符中,非运算高于与运算高于或运算 因此对于x||y&&x+y 先执行x+y=7+4=11 再执行y&&x+y,即4&&11,结果为1 再执行x||1,即7||1,结果为1 最终结果是1

x+=x*=x+1是复合赋值表达式,右结合性,即从右往左运算。 x*=x+1等价于 x = x * (x + 1) 即 x = 4 * ( 4 + 1) = 20。注意,此时x已经是20了。 再执行x+=y,此时的y是x*=x+1的执行结果,即20。 x+=y等价于 x = x + y 即 x = 20 + 20 = 40

假设提问者明白条件表达或的含义,重点说一下x>=y>=2的问题: x>=y>=2在C语言中的意义与它在数学中的意义是不同的,在C语言中,它等价于: (x>=y)>=2 即,先计算x>=y是否成立,并用计算的结果(0或者1)与后面的2进行大小比较的运算,因此,当x=...

x‖y+z&&!y的值为1(即真)

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