は、ここではいくつかのごみとなる配列にこのこれらの2つの割り当ての違いは何ですか?
char s[2][2];
s[0][0] = 1;
s[0][1] = 2;
s[1][0] = 3;
s[1][1] = 4;
cout << s[0][2];
出力値を割り当てる方法の一つであり、それは変化し続けます。しかし、奇妙なことは、私は
出力が3
た
1 2
3 4
などの入力を与えるように私はとてもこの
char s[2][2];
for (int i = 0, j = 0; i <= 2; i++){
if(i == 2)
{
j++;
i = 0;
}
if(j == 2) break;
cin >> s[j][i];
}
cout << s[0][2];
を行うとどうなりますか?
最初に、私たちはインデックスを超えた配列を使用していると不平を言ってはいけません。
's [0] [2]'はあなたの配列の要素ではありません。この要素にアクセスしようとすると、[未定義の動作](http://stackoverflow.com/questions/2397984/undefined-unspecified-and-implementation-defined-behavior)が発生します。定義されていない動作を入力すると、保証はありません。あなたのプログラムは何でもできるだけです。 –
ヌル終了文字列がありません。配列の最後の要素の後にアクセスします。未定義のバハビールのような音。 – Gerhardh
C++とCは異なる言語です。コードが交差点にありません。タグが編集されました。 –