실행시 123456789를 얻으려는 아래 코드를 작성했습니다. 그러나 그 대신에 나는 124457789를 얻는다. 그리고 나는 나의 인생 동안 이유를 이해할 수있다. 내 코드가 왜 내가해야한다고 생각하는대로하지 않을까요?C++ 2D 배열 : 각 요소에 숫자가 지정되었지만 출력이 다른 숫자입니다
숫자를 변경하면 세 번째와 여섯 번째 숫자는 여전히 네 번째와 일곱 번째 숫자와 같습니다. 이 2 × 선언 같이
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main(){
int matrix[2][2];
matrix[0][0]=1;
matrix[0][1]=2;
matrix[0][2]=3;
matrix[1][0]=4;
matrix[1][1]=5;
matrix[1][2]=6;
matrix[2][0]=7;
matrix[2][1]=8;
matrix[2][2]=9;
cout<<matrix[0][0];
cout<<matrix[0][1];
cout<<matrix[0][2];
cout<<matrix[1][0];
cout<<matrix[1][1];
cout<<matrix[1][2];
cout<<matrix[2][0];
cout<<matrix[2][1];
cout<<matrix[2][2];
}
그래서 선언 할 때 1에서 시작하지만 실제로 사용하면 0에서 시작됩니다. 감사합니다. 이제 작동합니다 : D – Einherjer
@Einherjer 배열은 C/C++에서 '0'인덱스 기반입니다. 그것에 익숙해 져. 차원의 * 크기 *는 양수이지만 인덱싱은 항상 0에서 시작하여'(n-1)'까지 실행됩니다. 여기서 'n'은 선언 된 차원 크기입니다. – WhozCraig