c# 自增自减问题

发布时间:2024-05-10 08:55 发布:上海旅游网

问题描述:

static void Main(string[] args)
{
int x = 5;
Console.Write((x++)+(x++)+(x++));
int y = (x++) + (x++) + (x++);
Console.Write(y);
结果是18
27
谁帮我讲解下为什么后面那个是27
谢谢!~

问题解答:

首先你前面的x已经自增了三次,那么你的x就应该为8了
其次,当自增自减的运算是无论如何,在变量在+/-号前面,都应先用后加,所以:
(8++)+(8++)+(8++)
=8+(9++)+(9++)//因为第一个 x增加为6后,后面的自然要增加了撒
=8+9+(10++)
=17+10
=27

你以后可以使用调试来看看你不懂的地方,但是这个例字要调试就要把y=(x++)+(x++)+(x++)修改为:
y=(x++);
y+=(x++);
y+=(x++);

热点新闻