私はこのCコードスニペットを持っています
int numbers[4]={1};
numbers[0]=1; numbers[1]=2; numbers[3]=3; numbers[10]=4;
printf("numbers: %d %d %d %d %d %d\n",numbers[0],numbers[1],numbers[3],numbers[6],numbers[10], numbers[5]) ;
このスニペットの出力は次を生成します。
numbers: 1 2 3 963180397 4 0
いくつか質問があります
numbers[10] を設定すると、配列のサイズがちょうど 4 であるため、エラーが発生しません。
numbers[6] を印刷するとガベージ値が返されるのに対し、numbers[5] は 0 の値が返されるのはなぜですか? それもガベージ値であってはなりません。
numbers[10] を設定すると、配列のサイズが増加しないことがわかっていますが、その場合はどうなりますか?
前もって感謝します 。PS i は GCC を使用してコードをコンパイルしました!!