我正在做这个程序来找到矩阵的鞍点(元素在其列上的数量最大,同时在它们的行上最小)
所以,事情就是这样,我遇到了分段错误。使用windows时,实际上运行良好,但是当我要在ubunto上运行时,它就不起作用了。不幸的是,我的机器上只有窗户,所以我无法弄清楚它为什么不工作或哪里出了问题。
你们能帮帮我吗?请告诉我代码有什么问题,或者错误在哪里!
int main(){
int i, j, *ml, *mc, key = 1, z;
int ordem, **me;
char car;
/* ml = smallest of each row, mc = greatest of each column
* me = given matrix
* ordem = size of matrix */
scanf("%d", &ordem);
me = malloc(ordem * sizeof(int));
for(i = 0; i < ordem; i++){
me[i] = malloc(ordem * sizeof(int));
}
ml = malloc (ordem * sizeof(int));
mc = malloc (ordem * sizeof(int));
for(i = 0; i < ordem; i++){
scanf("%d", &me[i][0]);
for(j = 1; j < ordem; j++){
scanf(" %d", &me[i][j]);
}
do{
z = scanf("%c", &car);
}while ((z != EOF) && (car != '\n'));
}
如有必要,我可以给你们剩下的代码,但我很确定错误发生在那里,无论是在 malloc 上还是在 scanf 上。
非常感谢,非常感谢任何帮助!此致!