0
私は行列回ベクトルプログラムを作成しようとしましたが、私はプログラムを実行すると、私は出力がC:マトリックス回ベクトル出力
少し奇妙であることがわかった。ここに私のコードは
#include <stdio.h>
main()
{
int i, j, n, a[3][3], b[3], c[3];
n = 3;
printf("Matrix A\n");
for (i = 0; i < n; ++i) {
for (j = 0; j < n; ++j) {
a[i][j] = 10;
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("\nMatrix B\n");
for (i = 0; i < n; ++i) {
b[i] = 5;
printf("%d\n", b[i]);
}
printf("\nA * B\n");
for (i = 0; i < n; ++i) {
for (j = 0; j < n; ++j) {
c[i] += a[j][i] * b[j];
}
}
for (i = 0; i < n; ++i) {
printf("%d\n", c[i]);
}
}
です結果はC = {150,150,150}になります。問題はc [0]とc [2]でしかないようです。
は、' C 'はどのあなたは、乗算の結果を追加するために、初期化されていません。 'c [3] = {0、0、0};のように宣言するか、ループで初期化してください。 – Robert