c++中值[(x+1)]加到x上的问题

Problems with values[(x+1)] adding to x in C++

本文关键字:加到 问题 中值 x+1 c++      更新时间:2023-10-16

c++新手,我试图创建一个斐波那契计算器,它将列出所有步骤到用户给定的点,并使用用户给定的起点。

#include <iostream>
using namespace std;
int main()
{
    int initial;
    int steps;
    int values[] = {};
    int x = 0;
    char hold;
    cout << "Start at: "; cin >> initial;
    values[0] = initial;
    cout << "Steps: "; cin >> steps;
    while(x < steps){
        if(x == 0){
            values[(1)] = values[0] + 1;
        }else {
            values[(x+1)] = values[x] + values[(x-1)];
        }
        x++;
        cout << values[x] << endl;
    }
}

我根本没有得到我期望的输出:p它看起来像是与值[(x+1)] =值[x] +值[(x-1)]有关;线。谢谢你的帮助:)

您根本没有得到任何输出。编译这个程序(gcc)会给你一个错误:

error: 0 -size array 'values'Int values[] = {};

在c++中不能定义这样一个大小为零的数组。您需要指定元素的数量,如

int values[256]{}; // allocate 256 ints and initialize them to zero

如果需要动态数组,可以考虑使用std::vector

values数组是一个固定大小的0。您不能在不调整大小的情况下为其设置值。考虑是否真的需要一个数组