gpt4 book ai didi

c++为什么不在指数时打印所有元素

转载 作者:太空狗 更新时间:2023-10-29 23:49:01 25 4
gpt4 key购买 nike

我想创建一个数组并将该数组中的每个元素加 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 提升为幂的那一行(使用求幂运算符,如果我没记错的话,我想你就是这样调用它的)然后它应该将数组存储在数组2。

有什么问题,为什么它只打印第一个元素而不是所有元素?

最佳答案

** 不是指数运算符。 C++ 不是 Fortran。

您已将 2 乘以 arr 的第一个元素:您的语句等效于 int arr2 = 2 * arr1[0];。您输入的是完全合法的 C++(包括乘法和指针解引用),auto 的使用增加了混淆。

关于c++为什么不在指数时打印所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47990859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com