假设x=1,y=2,z=3,则表达式y+=z--/++x的值是多少?答案是3,怎么算出来的?

如题所述

分解计算
这和C的计算逻辑有关,
z--先计算后赋值,在这个式子里其值是3
++x先赋值后计算,所以是2
y+=3/2 等效于 y=2+(3/2)=2+1(如果X,Y,Z都是int变量)

话说你这个题坑还是挺多的。
其实你应该写在c或者PHP里分步执行下,观察每个变量的值就明了了。

using System;

public class Test
{
public static void Main()
{
int x=1;
int y=2;
int z=3;
y+=z--/++x;
Console.WriteLine(y);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-18
z--先返回z的值z再+1
++x先+1再返回x的值
然后是符号的优先级

最先执行自加自减 然后执行相除
最后执行 +=
所以
x=x+1
y=y+z/x
z=z+1

x=1+1
y=2+3/2
z=4

3/2因为都是整型所以只返回整数部分的值
所以等于1
第2个回答  2018-01-07
答案是3.5
第3个回答  2016-11-18
随枫落地zp wogenvyh
相似回答