C ++中数组的未初始化值是什么?

时间:2017-01-25 06:30:56

标签: c++ arrays initializing

当我试图找到增量运算符的行为时,我得到了这个结果,最后我得到了两个问题。 这是代码和输出。

#include <iostream>
using namespace std;
int main(){

    int arr[4] ;
    int x =0;
    cout << arr[0] <<"_"<< arr[1]<<"_"<<arr[2]<<"_"<<arr[3]<<"**"<< x<< endl;
    arr[x] = 10;
    cout << arr[0] <<"_"<< arr[1]<<"_"<<arr[2]<<"_"<<arr[3]<<"**"<< x<< endl;
    arr[x++] = 20;
    cout << arr[0] <<"_"<< arr[1]<<"_"<<arr[2]<<"_"<<arr[3]<<"**"<< x<< endl;
    arr[++x] = 30;
    cout << arr[0] <<"_"<< arr[1]<<"_"<<arr[2]<<"_"<<arr[3]<<"**"<< x<< endl;
    arr[x] = arr[x--] + arr[--x];
    cout << arr[0] <<"_"<< arr[1]<<"_"<<arr[2]<<"_"<<arr[3]<<"**"<< x<< endl; 

    return 0;
}

结果是

-1_-1_4254245_0**0
10_-1_4254245_0**0
20_-1_4254245_0**1
20_-1_30_0**2
50_-1_30_0**0
  • 问:1数组的默认值是什么?
  • 问:2 50如何作为阵列第0位的谷值?

1 个答案:

答案 0 :(得分:0)

垃圾值。这些可以是预先初始化的值,它们只是存储在内存中的先前数据,现在分配给您的数组,或者只是垃圾。在C中,如果你想要的东西不同于Java,你必须初始化你的所有值,它初始化为零。