c語言矩陣相乘出錯

2022-08-01 15:20:06 字數 578 閱讀 8492

1樓:小蘿蔔

改成這樣就可以了:

1、第二層迴圈改成:for (j = 0; j < 4; j++)2、第三層迴圈改成:for (int k = 0; k < 3; k++)

3、第三層的迴圈體改成:xyz1[i][j] += r1[i][k] * xyf1[k][j];

完成測試**如下:

#include

int main()

int r1[3][3]  =;

int xyf1[3][4]=;

int xyz1[3][4]=;

int i,j;

for (i = 0; i < 3; i++)for (j = 0; j < 4; j++)/*xyz1[i][j] = 0;*/

for (int k = 0; k < 3; k++)xyz1[i][j] += r1[i][k] * xyf1[k][j];

printf("%d\t",xyz1[i][j]);

printf("\n");

2樓:匿名使用者

for (i = 0; i < 3; i++)}}

c語言程式執行出錯

沒有錯啊,我在我的電腦上執行了,是可以的。應該是你vc的問題 printf c n cstr1 2 printf c n cstr1 3 printf c n cstr1 4 s改為 c s要求對應引數是個指標,你應該只是想輸出乙個字元而以,用 c 要輸出字串也可以,用 s,cstr1 2 如果你用...

C語言程式free出錯,C語言free的時候程式出錯

陣列越界了!釋放的記憶體區域無法訪問。a int malloc sizeof int 申請的4個位元組的記憶體,也就是乙個整形值的空間,但是後來的 if m i 0 a j 將訪問到其他的記憶體區域,而這個記憶體區域不屬於你管轄的範圍!我不明白的是 a int malloc sizeof int 這...

C語言程式出錯,C語言程式沒有錯,但為什麼總顯示乙個錯誤

這個 需要重寫。比如函式putin2中,宣告的a是char型字元,後面scanf中卻要讓它接收乙個姓名字串,這樣的錯誤說明 構思很混亂,不是略改一下就能解決的 putin2函式中 char a 應該為乙個字串改為char a 100 字串a應該與運動員名字比較,也就是a與結構體的name2欄位比較。...