大神帮看看几行C#,为什么写的位置不一样,最终求得的和却相差这么多。

求1到100的整数和:
int a = 1, sum = 0;
while (a <= 100)
{
sum = sum + a;
a++;
** if (a++ == 100)
{
Console.WriteLine("1到100之间整数的和是{0}。", sum);
}**
}
Console.WriteLine("1到100之间整数的和是{0}。", sum);
粗体部分和斜体部分:用粗体,结果是2500,用斜体,结果是5050。为啥会这样啊。刚初学,麻烦大神们答疑解惑,非常感谢。

a++;
** if (a++ == 100)

a又++了

你在if判断里边每次都多加了1啊

多了一个a++;
改为:
int a = 1, sum = 0;
while (true)
{
sum = sum + a;
if (a++ > 100)
{
Console.WriteLine("1到100之间整数的和是{0}。", sum);
}
}
或者:
int a = 1, sum = 0;
while (a <= 100)
{
sum = sum + a;
a++;
}
Console.WriteLine("1到100之间整数的和是{0}。", sum);

这样加法 每次都是自增2 1,3,5,7

调用两次a++,导致自增2,sum=1+3+5+..+99 =2500