我想用一个值初始化所有数组元素,所以我想使用选项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] << " ";
}
答案 0 :(得分:1)
int arr[5] = { 2 };
您只为第一个元素提供初始值。在这种情况下,所有元素都默认初始化为该类型,即在您的情况下为0。