을 가진 내가 매트릭스의 안장 위치를 찾기 위해이 프로그램을하고 있어요 그래서C - 분할 고장 동적 할당
(요소는 자신의 칼럼과 동시에 자신의 행에서 가장 작은에서 가장 큰 수있다) 여기에 문제가 있습니다. 세그먼트 오류가 발생했습니다. 창을 사용할 때 실제로는 잘 작동하지만 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와에 하나, 거기에 무슨 일이 일어나고 있음을 확신 해요.정말 감사드립니다. 친애하는!
'우분투'가 없습니다. –
안녕하세요. SO에 오신 것을 환영합니다! 귀하의 질문은 불충분 한 정보로 인해 마감 될 것입니다. 디버거를 사용하여 문제를 특정 코드 행으로 좁혀주십시오. –
첫 번째 할당은'malloc (ordem * sizeof (int *))'이어야합니다. – Barmar