数组初始化给出垃圾值

时间:2015-01-02 13:35:42

标签: c++

我想用一个值初始化所有数组元素,所以我想使用选项1 ,这是更短的版本。但这似乎不起作用。但选项2 有效。任何人都可以解释当我尝试通过选项1初始化时出现的问题。

 int main()
    {
        int arr[5] = { 2 }; // option 1
        int arr1[5] = { 2, 2, 2, 2, 2 }; //option 2
        for (int i = 0; i < 5; i++)
            cout << arr[i] << " ";
        for (int i = 0; i < 5; i++)
            cout << arr1[i] << " ";
    }

1 个答案:

答案 0 :(得分:1)

int arr[5] = { 2 };

您只为第一个元素提供初始值。在这种情况下,所有元素都默认初始化为该类型,即在您的情况下为0。