2次元の配列を持っていますが、最初に配列のデータを印刷すると、日付は正しく表示されますが、もう1度はarray [last] [i] i = 0〜last - 1メモリの値が無許可で変更されました
明らかに論理エラーですが、私はfor文をコピーして貼り付けるので、理由はわかりません。だから...データを変更する?
私はgcc -std=c99
を使用しますが、それ以前はC++とcout
のステートメントを試しています。私はそれが見るように
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned int numero_jugaderes = 11;
unsigned int numero = numero_jugaderes - 1;
unsigned int p_a[numero];
float p_aya[numero][numero];
for (unsigned int i = 0; i <= numero; i++) {
p_a[i] = i;
}
for (unsigned int i = 0; i <= numero; i++) {
for (unsigned int j = 0; j <= numero; j++) {
p_aya[i][j] = (float) (p_a[i] * p_a[j])/100;
printf("%f\t", p_aya[i][j]);
}
puts("");
}
puts("\n");
for (unsigned int i = 0; i <= numero; i++) {
for (unsigned int j = 0; j <= numero; j++) {
printf("%f\t", p_aya[i][j]);
}
puts("");
}
return 0;
}
これは、C++に[可変長配列](https://en.wikipedia.org/wiki/Variable-length_array)がないため、技術的には有効なC++プログラムではありません。 –
@user私はそれが逆であると思います –
あなたの問題については、X要素の配列は有効なインデックスが '0'から 'X - 1'(両端を含む)の範囲にあることに注意してください。今すぐあなたのループをよく見てみましょう。 –