第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于c語(yǔ)言動(dòng)態(tài)分配二維數(shù)組free的錯(cuò)誤求dalao看看怎么回事謝謝啊~~~~

關(guān)于c語(yǔ)言動(dòng)態(tài)分配二維數(shù)組free的錯(cuò)誤求dalao看看怎么回事謝謝啊~~~~

C
Single丶love 2018-04-08 09:29:57
typedef struct { int**data; int row; int col;}MyMatrix;typedef MyMatrix* Matrix;/*編寫矩陣輸入函數(shù) INPUT_MAT,通過(guò)該函數(shù)完成矩陣的輸入并返回保存矩陣的數(shù)組和對(duì)應(yīng)矩陣的行數(shù)、列數(shù)。(不能使用全局變量)*/Matrix INPUT_MAT() { int m_row, m_col; printf("輸入要?jiǎng)?chuàng)建的矩陣的行數(shù)和列數(shù):"); scanf("%d%d", &m_row, &m_col); if (m_row <= 0 || m_col <= 0) { printf("輸入的行數(shù)和列數(shù)錯(cuò)誤!矩陣創(chuàng)建失?。n"); return NULL; } Matrix mat = (Matrix)malloc(sizeof(MyMatrix)); mat->row = m_row; mat->col = m_col; mat->data = (int **)malloc(sizeof(int *)*m_row); printf("輸入矩陣的元素:\n"); for (int i = 0; i < m_row; i++) { mat->data[i] = (int *)malloc(sizeof(int)*m_col); for (int j = 0; j < m_col; j++) scanf("%d", &mat->data[i][j]); } printf("矩陣創(chuàng)建成功!\n"); return mat;}/*編寫矩陣輸出函數(shù) OUTPUT_MAT,通過(guò)該函數(shù)完成矩陣的輸出。*/void OUTPUT_MAT(Matrix mat) { printf("矩陣輸出如下:\n"); for (int i = 0; i < mat->row; i++) { for (int j = 0; j < mat->col; j++) printf("%d ", mat->data[i][j]); printf("\n"); }}/*清理矩陣*/void Clean_Mat(Matrix mat) { for (int i = 0; i < mat->row; i++) free(mat->data[i]); free(mat->data); free(mat);}/*求矩陣的轉(zhuǎn)置,矩陣的轉(zhuǎn)置 A’=(aji)n×m,轉(zhuǎn)置前輸出原矩陣,轉(zhuǎn)置后輸出轉(zhuǎn)置矩陣。*/Matrix Transpose_Mat(Matrix mat) { Matrix target = (Matrix)malloc(sizeof(MyMatrix)); target->row = mat->col; target->col = mat->row; target->data = (int**)malloc(sizeof(int*)*target->row); for (int i = 0; i < target->row; i++) target->data[i] = (int *)malloc(sizeof(target->col)); for (int i = 0; i < target->row; i++) for (int j = 0; j < target->col; j++) target->data[i][j] = mat->data[j][i]; return target;}void Transpose_Function() { system("cls"); printf("當(dāng)前功能:矩陣的轉(zhuǎn)置\n"); Matrix mat = INPUT_MAT(); if (!mat) { int b; do { printf("輸入0回到主菜單:"); scanf("%d", &b); } while (b != 0); return; } Matrix target = Transpose_Mat(mat); printf("轉(zhuǎn)置前"); OUTPUT_MAT(mat); printf("轉(zhuǎn)置后"); OUTPUT_MAT(target); int b; do { printf("輸入0回到主菜單:"); scanf("%d", &b); } while (b != 0); Clean_Mat(mat); Clean_Mat(target); return;}free原始數(shù)組沒(méi)問(wèn)題,但是free轉(zhuǎn)置后的數(shù)組就會(huì)出現(xiàn)錯(cuò)誤,不知道為什么啊。。。跪求大佬幫我看看哪里出現(xiàn)錯(cuò)誤了?
查看完整描述

1 回答

已采納
?
慕設(shè)計(jì)7118955

TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超2個(gè)贊

Matrix Transpose_Mat(Matrix mat) 這個(gè)函數(shù)第六行target->data[i] = (int *)malloc(sizeof(target->col));
改成target->data[i] = (int *)malloc(sizeof(int)*target->col);

查看完整回答
反對(duì) 回復(fù) 2018-04-08
  • 1 回答
  • 1 關(guān)注
  • 1358 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)