数组和指针输入

时间:2015-03-22 11:25:34

标签: c++

我在这里面临一个问题。这是关于投入的。

编辑:在我输入值以将其分配到每个季节后,程序每次都会崩溃。顺便说一句,我是自学c ++所以......

#include <iostream>

const int Seasons = 4;
const char * Snames[Seasons] = { "Spring", "Summer", "Fall", "Winter" };

void fill(int*  a[], const int);

int main()
{
    int * expenses[Seasons];
    fill(expenses, Seasons);

    return 0;
}

void fill(int*  pa[], const int x)
{
    for (int i = 0; i < x; i++)
    {
    std::cout << "Enter " << Snames[i] << " expenses.";
    std::cin >> *pa[i];
    }
}

我知道我可以使用字符串,但我可以知道如何解决这个问题吗?我认为问题出在* pa [i]。

谢谢!

1 个答案:

答案 0 :(得分:0)

声明

std::cin >> *pa[i];

取消引用未初始化的指针 对于这种情况,你根本不需要int*指针。只需将数组和函数签名更改为

即可
 int expenses[Seasons];

 void fill(int*  pa, const int x)

并使用

 std::cin >> pa[i]; // Note no dereferencing