我理解这段代码中的每一个符号,除了一部分:“e--;”在While循环中。任何人都可以解释它对我的重要性吗?
public class Power
{
public static void Main()
{
int e;
int result;
for(int i=0; i < 10; i++)
{
result = 1;
e = i;
while(e > 0)
{
result *= 2;
e--;
}
Console.WriteLine(string.Format("2 to the {0} power is {1}", i, result));
}
}
}
答案 0 :(得分:2)
您正在查看postfix decrement operator。
它评估e
的值,然后从值中减去一个;由于它是一个独立的声明,它只是从e
的值中减去一个。
答案 1 :(得分:1)
e--
只会递减e
的值。它相当于e = e - 1;
。
减少值的原因是最终退出while
循环;一旦将e
设置为i
的值,循环将无限期运行,除非e
的值变得小于或等于零,这使得while
循环条件为e > 0
错误。
在较大的图片中,您使用e
存储i
的当前值,然后使用它来执行i
次语句result *= 2;
。换句话说,您正在使用e
来计算在外部result
循环的当前迭代期间变量2
需要乘以for
的次数。
这与做某事类似,
for (int i=0; i < 10; i++)
{
result = 1;
e = 0;
for (e = i; e > 0; e--)
{
result *= 2;
}
}
由于while
循环确实充当for
循环。
答案 2 :(得分:1)
这里的想法是简单地将result
乘以2 i
次。它通过将e
设置为i
,每次循环减去一次,并在其为正数时循环来完成此操作。这意味着while
循环将始终循环i
次。你可以很容易地(并且可以说更清楚地)写出来:
for(int e = 0; e < i; e++)
result *= 2;
答案 3 :(得分:1)
while(e > 0)
这意味着只要e
大于零,您的循环就会运行。 e--
在每次迭代时递减e's value
。如果你没有在循环中减少它,那么你将获得一个无限循环,因为你的条件总是 true 并且你的循环不会结束。
答案 4 :(得分:1)
e
是您的计数器变量。它将重复while
循环,直到结果乘以指定的次数(循环开始时为i
为止)。正如其他人所说,e--
只是将e
的值减1。您可以阅读更多here。这意味着,在您提供的代码中,它会将result
乘以2 e
次,数学上将计算2^i
(即2^0 = 1
,2^1 = 2
,{ {1}}等。)。
答案 5 :(得分:0)
e--意味着它将在每个循环中减少1,e ++将增加1