我真的不明白爲什麼我繼續得到這個錯誤「數組類型」雙[10] [10] [10]是不可分配的「」 我試着傳遞一個數組裏面,它仍然沒有似乎工作使用結構的c中的矩陣乘法
我不允許這樣做。什麼是替代方案?感謝您的幫助
#define MAX 10
//structures usually defined at top along with function prototypes
typedef struct {
unsigned int row;
unsigned int col;
double array [MAX][MAX];
}Matrice;
Matrice lire_matrice(void);
Matrice multiplication(Matrice a, Matrice b);
void affiche_matrice(Matrice m);
int main(int argc, const char * argv[]) {
//insert code here...
Matrice m1 = lire_matrice();
Matrice m2 = lire_matrice();
}
Matrice lire_matrice(void){
unsigned int row,col;
printf("Enter row which must be smaller or equal to %d ", MAX);
scanf("%d",&row);
printf ("Enter col which must be smaller or equal to %d",MAX);
scanf("%d",&col);
double table[row][col];
int i;
int j;
double input;
for(i = 0; i < row; i++){
for(j= 0; i < col;j++){
printf("M[%d,%d] =",i,j);
scanf("%lf",&input);
table[i][j]= input;
}
}
Matrice m;
m.array = table; <<**ERROR ARRAY TYPE DOUBLE[10][10] IS NOT ASSIGNABLE**>>
m.row = row;
m.col = col;
return m;
}
默認情況下,數組不可複製。您應該實現將數據從一個結構複製到另一個結構的方法或函數。 – Jepessen 2015-02-07 12:08:19
歡迎計算器,您的問題似乎是雙*陣列的https://stackoverflow.com/questions/3755459/question-on-equating-arrays-in-c – 2015-02-07 12:13:45