이 프로그램은 'n'명의 학생과 이름을 받아서 (정렬 부분에 havent)을 정렬하기위한 것입니다. 테스트 할 때 내 프로그램이 왜 충돌하는지 파악할 수 없습니다. 코드 :처음 Malloc을 사용하고 프로그램이 깨졌습니다.
#include<stdio.h>
#include <stdlib.h>
#define MaxNameLen 100
int main() {
int n;
scanf("%d", &n);
char *names;
char **pointerToNames = (char **) malloc(n * sizeof(char));
if (pointerToNames == NULL)
return 0;
int i;
for (i = 0; i <= n; i++) {
names = (char *) malloc(MaxNameLen);
gets(names);
pointerToNames[i] = names;
}
for (i = 0; i < n; i++) {
free(pointerToNames[i]);
free(names);
}
}
'도착'이란 무엇입니까? – haccks
@haccks http://www.cplusplus.com/reference/cstdio/gets/ – Inisheer
@Inisheer; 죄송합니다! C에서 역사가되다. – haccks