#include <iostream>
using namespace std;
int* createArray();
int main() {
    int *arr = createArray();
    cout << "Main: " << arr << endl;
    arr[0] = 0;
    arr[1] = 1;
    cout << arr[0] << endl;
    cout << arr[1] << endl;
}
int* createArray() {
    int arr[2];
    cout << "createArray()1: " << arr << endl;
    return arr;
}
I don't understand why if I only call this statement
cout << arr[0] << endl;
or
cout << arr[1] << endl;
can show a correct value. But if I call both statement, it will show
createArray()1: 00AFFAF4
Main: 00AFFAF4
0
11533068  //Don't show 1
 
    