私は自分のプログラムで何が間違っているのか分からないので、出力するものが出力されません。C++を使用して配列に値を挿入するときの異常な異常/バグ
私は、次の
#include <iostream>
using namespace std;
main() {
int arr[] = {1,3,5,7,8};
int item = 10, k = 3, n = 5;
int i = 0, j = n;
cout<<"The original array elements are :\n";
for(i = 0; i<n; i++) {
cout<<"arr["<<i<<"] = "<< arr[i] <<"\n";
}
n = n + 1;
while(j >= k) {
arr[j+1] = arr[j];
j = j - 1;
}
arr[k] = item;
cout<<"The array elements after insertion :\n";
for(i = 0; i<n; i++) {
cout<<"arr["<<i<<"] = "<< arr[i] <<"\n";
}
}
は、このプログラムの出力であり、それはこのコードではかなりうまく動作し、配列内の特定のポイントに値を挿入するプログラムを書いた:
しかし、私は配列サイズを変更すると7となるでしょう:
#include <iostream>
using namespace std;
main() {
int arr[] = {1,3,5,7,8,9,6};
int item = 10, k = 3, n = 7;
int i = 0, j = n;
cout<<"The original array elements are :\n";
for(i = 0; i<n; i++) {
cout<<"arr["<<i<<"] = "<< arr[i] <<"\n";
}
n = n + 1;
while(j >= k) {
arr[j+1] = arr[j];
j = j - 1;
}
arr[k] = item;
cout<<"The array elements after insertion :\n";
for(i = 0; i<n; i++) {
cout<<"arr["<<i<<"] = "<< arr[i] <<"\n";
}
}
上記のプログラムの
出力:
私はできないんですが、私は何か間違ったことをやって、どこで、このプログラムでは、このような異常/バグを持っていることを理解します。唯一の重要な部分あなたのコードを維持
になります実際に問題があり、本物の助けが必要な場合は、私はstackoverflowの標準を知っているので、これがカジュアルであるか悪い質問であることを示す確かな理由がない限り、私の質問を閉じてください。 –
配列のサイズはコンパイル時に固定です。割り当てられた配列の最後の要素を超えて作業しようとすると、未定義の動作が発生します。 – Dan
どのような異常ですか?どのようなアウトプットを期待しましたか? – user463035818