数组表演时髦。 Sizeof()和for循环

时间:2017-02-19 01:38:33

标签: c++ arrays for-loop cout

我正在尝试将Arrays合并到我的代码中,但是当我尝试使用for循环时它会很奇怪。

首先,当我在main()中输出sizeof(price)时,它输出80而不是10.我觉得这可能是因为它是一个双打数组,但任何想法都会受到赞赏。

其次,在计数器(价格)函数中,for循环似乎只运行4次而不是整个数组。它输出前4个值但不多,我不知道为什么。

 double counters(double prices[])
{

    int length = sizeof(prices);

    std::cout << length << '\n';

    for (int i = 0; i < sizeof(prices); i++) {
        std::cout << prices[i] << '\n';
    }

    return 0;
}
int main()
{
    double prices[10] = { 66.46, 66.34, 66.82, 66.37, 66.56, 66.89, 67.80, 68.25, 67.88, 67.80 };
    int price = sizeof(prices);
    std::cout << price << '\n';
    counters(prices);

    return 0;
}

我应该补充一点,代码本身没有引用数组中不同元素的问题。例如,如果输出价格[6],则没有问题。

感谢任何帮助。

0 个答案:

没有答案