c语言中,设int x=7,y;y=(x++)+(++x)的值为多少,为什么?当y=(++x)+(x++)时又是多少?

如题所述

直接用编译器编译一下就知道了。编译后两个答案是一样的都是9,16.按编译结果来看,(x++)x在括号内赋7后自动加1,所以到(++x)里是x为8在括号运行后x+1变成9,而结果为16。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-05
第一个是16
第二个也是16
第一个,第一个括号,由于先计算再自增,因此结果为7,自增后x=8,第二个括号,由于先自增,因此结果为9,最后7+9=16
第二个,同理,第一个括号,先自增,结果为8,第二个括号,先计算再自增,也为8,8+8=16
第2个回答  2020-01-18
先计算(x++),结果是7,此时x=8
再计算(++x),结果是9,此时x=10
最后计算7+9=16
先计算(++x),结果是8,此时x=8
再计算(x++),结果是8,此时x=9
最后计算8+8=16
第3个回答  2020-04-06
x=10;
//这句运行完毕后x的值为10;
y=x++;//这句等价于
先执行y=x;此时y的值为10了。然后再执行x++;此时x的值为11了。
所以书上说的对哦~~~~o(∩_∩)o哈哈~

c语言中,设int x=7,y;y=(x++)+(++x)的值为多少,为什么?当y=(++x...
最后计算7+9=16 先计算(++x),结果是8,此时x=8 再计算(x++),结果是8,此时x=9 最后计算8+8=16

请问y=(++x)+(x++)+(++x)结果是多少?具体的算法和计算步骤。_百度知 ...
y=(++x)+(x++)+(++x)楼主的编译器是这样: ++x=2+1=3 继续赋值 x++=3+1=4 继续 ++x=4+1=5 最后的结果自然是12了 而c++6.0则是10; 因为它从右往左,刚好相反 ++x=2+1=3 继续赋值 x++=3(注意这个地方的理解) 继续 ++x=3+1=4 3+3+4=10 因为我是用c++6.0 以下结果在c...

C语言如何计算表达式(x++)+(++x)+(x++)
9 inc si 第1行和第2行是将++j自增,3到7行是加法运算。8、9行是j++的自增,不参与表达式的运算。所以使用这种编译方式的编译器,++j的位置对结果无影响。第二种情况:VC、dev c,好像gcc也是这种情况,他是在运算过程中对++j进行运算。所以++j的位置对结果有影响。其中VC的还比较奇特,比如...

C#里面 int x=5 int y=(x++)+(++x)+x为什么y这个表达式中后一个x取...
因为x++ 和++x 都是在x这个内存空间上操作 并没有开辟临时的变量空间 所以前面修改了 x 后面读出来的自然是修改后的值 记得采纳啊

c语言 int y,x=3;y=(++x)+(++x); 则y=?
这个运算是先执行两次++x,然后x就是5了吧!然后两个5相加,就是10了。同一个变量在一个公式中自加自减的都是先把变量值确定,然后再运算结果。我语言表达不清楚,就是这个意思,记好了就行了!

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

一个关于C语言自增++运算的题目,高手进
回答:根据编译器而不同, 在你的编译器中应该是这样执行的: y=(++x)+(x++)+(++x); 因为第二个(x++)有括号,所以就求解x++再执行括号外面的+,结果也就是3+4+5=12 在VC中就不同

int x=5; 求 y = (++x) + (++x) + (++x) 的值
这个过程是 A 首先x自加3次,x为8;B 然后把8作为表达式中所有的x的值,因此三个8相加为24。如果你改成y=(x++)+(x++)+(x++)那么上面A B的顺序交换,为y=15 x最后也为8 当然这是在Turbo C或者MS C中才这样,另外的编译系统,可能不是这样。参考资料:《C程序设计第三版》谭浩强著 58...

C语言(x++)+(++x)+(x++)?
x=4 +=在执行语句的过程中并不会赋值,所以在执行的过程中调用到的x所储存的值都是4.x+=(x-=(x-(x--)))= x+=(x-=(x-3))= 4+=(4-=1)= 4+3=7 唔,本地g++运行结果是7.不知道怎么回事。

c语言中怎样解释x=4,y=(++x)+(++x);结果y=12
。所以我是这样理解的,++x的作用是让数字x先自加一再在语句中被使用。而y=(++x)+(++x); 这个语句中x被自加了两次,而只有一个语句,也就是说在运行到分号的时候 x的值是6,那么系统在执行y=(++x)+(++x); 这个时候 认为y = 6+ 6; 结构是等于12....

相似回答