这C++代码中发生了什么C++(指数函数)
What is happening in this C++ code in C++ (Exponent Function)
int power(int baseNum, int powNum) {
int result = 1;
for(int i = 0; i < powNum; i++) {
result = result * baseNum
}
return result;
}
int main()
{
cout <<power(2 , 3);
return 0;
它来自这个YouTube视频。
所以我不明白的是他是如何选择int result = 1;突然?为什么不 = 2?
为什么int i = 0,为什么不= 1?
在视频部分"让我们分解一下"中,他说第一个结果是1
但不是0吗?
第一个循环为 0 下一个循环为 1 第 3 个循环为 2 然后它退出,因为它是 3 <3 右?
如果有人可以转录循环,那就太好了,所以我可以确切地看到发生了什么。
最后一件事,我们如何使这些计算结果 = result * baseNum与循环,这样我们就可以得到 8。
我刚开始学习C++。
所以我不明白的是他如何选择 int result = 1; 突然出现?为什么不 = 2?
因此,如果他在 for 循环中将结果相乘,则并不总是 0。 0 * 2 --> 0
关于 for 循环本身:
- 迭代次数:1 * 2 --> 2/i = 0
- 迭代次数:2 * 2 --> 4/i = 1
- 迭代次数:4 * 2 --> 8/i = 2
- 迭代:i = 3/不小于 3 离开 for 循环
最后,他离开函数并返回现在的结果是 8。
对于 for 循环,获得以 2 为底的 3 的幂,得到的回报与你只乘以 2 * 2 * 2 一样。
这正是 for 循环所经历的,并执行第一次乘法 1 * 2,在第二次迭代中,您计算再次将结果乘以 2 * 2,然后再次通过并计算下一次迭代 4 * 2,然后得到所需的结果