【发布时间】:2017-12-27 10:51:13
【问题描述】:
我想创建一个数组并将该数组中的每个元素提升 2 并将其存储为新数组 arr2。这是我的代码
#include <iostream>
using namespace std;
int main(){
int arr1[7] = {1, 2, 3, 4, 5, 6, 7};
auto arr2 = 2 ** arr1;
cout << arr2 << endl;
}
但是,它只打印第一个元素,而不打印整个数组。为什么?所以,基本上,我在这里所做的是我用元素 {1,2,3,4,5,6,7} 创建了 arr1 然后我希望 arr2 是
- [2、4、8、16、32、64、128]
但由于某种原因,它只打印数组的第一个元素,它打印 2,但我希望它打印所有元素。请注意,2 ** arr1 是我将 2 提升到幂的行(使用幂运算符,如果我没记错的话,我认为这是您的称呼),然后它应该将数组存储在 array2 中。
出了什么问题,为什么它只打印第一个元素而不是所有元素?
【问题讨论】:
-
C++ 中没有指数运算符。为什么要猜测语法?
-
你需要一个或多个these。
-
@StoryTeller。谢谢先生的解释。我一定会学的。
标签: c++ arrays algorithm vector std