-7

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

#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
  • Q:1 数组的默认值是什么?
  • Q:2 50 是如何作为数组第 0 位的值来的?
4

1 回答 1

0

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

于 2017-01-25T06:33:16.167 回答