2017-01-25 5 views
-7

은 내가 재치 두 가지 질문을 결국이 결과를 얻었다. 코드와 출력은 다음과 같습니다. 이러한 배열의 기본값 어떤 1C++에서 배열의 초기화되지 않은 값은 무엇입니까? 내가 증가 사업자의 동작을 찾으려고 할 때

#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인가?
  • 는 Q : 2 (50)는 어레이의 영차 위치의 베일로 온 방법?
+2

당신은 당신이 그것은 정의되지 않은 동작입니다 – StoryTeller

+2

에서 프로그래밍하고 실제 언어 태그로 시작할 수 있습니다. 케이스는 자사의 C++ – Danh

+0

을 폐쇄 - 내가 태그를 편집 할 때이 것을 짐작, 감사 – mks

답변

0

쓰레기 값. 이것들은 메모리에 있고 이제는 배열에 할당 된 이전 데이터, 또는 단순히 쓰레기로 둘러 쌓인 미리 초기화 된 값일 수 있습니다. C에서 Java와 달리 무언가를 원할 경우 모든 값을 초기화해야합니다. Java는 0으로 초기화됩니다.