配列 "a[3][3]" (3 x 3) を宣言しました。ユーザーは 9 個の整数を入力する必要があります。
私はこのコードを使用しています:
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; i++)
scanf("%d", &a[i][j]);
}
数字を挿入0 1 2 3 4 5 6 7 8
して印刷しようとすると、次のように出力されます。0 0 0 1 0 0 2 0 0
何が問題ですか?
あなたの内側に
for (j = 0; j < 3; i++)
インクリメントは j++ である必要があります。
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; /*HERE */j++)
scanf("%d", &a[i][j]);
}
デバッガーを使用して段階的に進み、変数の値を確認して、将来そのようなケースを独自に調査してください。
for (j = 0; j < 3; i++)
する必要がありますfor (j = 0; j < 3; j++)
あなたのコードで:
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; i++)
scanf("%d", &a[i][j]);
}
2 番目i++
は である必要がありますj++
。そうしないと、プログラムが番号を要求しなくなります。
この質問は非常に単純です。すべてのコードを共有してみませんか。構文エラーだけがあると確信しています。
内側のループで間違った変数をインクリメントしています。
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++) // < should be j++, not i++
scanf("%d", &a[i][j]);
}