算矩陣乘法的程式,沒有錯誤,可是停止工作,怎麼回事急

時間 2021-08-11 17:41:16

1樓:匿名使用者

你申請的連續儲存空間太大了,

int a[1000][1000],b[1000][1000],c[1000][1000];

每一個二維陣列都需要1000*1000=1000000個int型連續儲存空間,

導致系統崩潰

申請小一點吧,例如:

int a[100][100],b[100][100],c[100][100];

2樓:匿名使用者

#include

int main()

for(i=0;i

for(j=0;j

}printf("\n");

return 0;

}這是一個自己編的**,可以計算任意階數的兩個矩陣相乘,執行無誤,你可以自己試試!

3樓:

int a[1000][1000],b[1000][1000],c[1000][1000];

這三個陣列最好根據矩陣的實際行數和列數動態分配記憶體,否則預先分配大了,系統崩潰,分配小了,存不下矩陣元素。

如果把a,b,c三個陣列的記憶體分配小一點,你的程式是對的,語法和邏輯都對。

矩陣的乘法,這兩個矩陣相乘怎麼算

比如乘法ab 一 1 用a的第1行各個數與b的第1列各個數對應相乘後加起來,就是乘法結果中第1行第1列的數 2 用a的第1行各個數與b的第2列各個數對應相乘後加起來,就是乘法結果中第1行第2列的數 3 用a的第1行各個數與b的第3列各個數對應相乘後加起來,就是乘法結果中第1行第3列的數 依次進行,直...

C語言程式,沒有錯誤,但是執行不出來

stu n num malloc 10 sizeof char 錯誤,malloc返回void 型指標,必須在malloc前加強制轉換操作變為與stu n num相相容的型別。stu n nam malloc 5 sizeof char 錯誤,同上。scanf d t 是啥東西? 成員變數的指標使用...

用C語言程式設計程式沒有錯誤為什麼結果不對

井鈺 程式可以執行並不表示程式就是正確的 編譯和連線都正確,只能說明編譯器對他進行語法等檢查 沒發現他的錯誤而已,而既然執行結果是錯誤的,那就是說明一點 可能是你的演算法設計的不當,不能正確的解決問題,這樣發生的錯誤 是執行期錯誤,在編譯連線的過程不會出錯的,不過幸好,編譯器也為我們 提供了一些解決...