-1
我在我的代码中遇到了一些问题,我无法修复它。任何人都可以抓住mycode的缺陷吗?我想从输入文件中获取城市距离,并在地图上复制城市名称而不重复。我的问题是分段错误。输入文件由几行两个城市名称和它们之间的距离组成,我尝试获取城市名称并将它们复制到名为map的双指针。对不起,对不起英语
city1[0] = (char*)malloc(sizeof(char)*10);
city2[0] = (char*)malloc(sizeof(char)*10);
map[0] = (char*)malloc(sizeof(char)*10);
map[1] = (char*) malloc(sizeof(char)*10);
map[2] = (char*) malloc(sizeof(char));
map[2] = NULL;
fscanf(data, "%s %s %d", city1[0], city2[0], &distance);
strcpy(map[0],city1[0]);
strcpy(map[1],city2[0]);
j=2,i=1;
while(fscanf(data, "%s %s %d",city1[i],city2[i], &distance)!=EOF){
city1[i+1] = (char*)malloc(sizeof(char) *10);
city2[i+1] = (char*)malloc(sizeof(char)*10);
if(checker(map,city1[i])==1){
map = realloc(map, sizeof(char*)*(j));
map[j] = (char*) malloc(sizeof(char));
strcpy(map[j], city1[i]);
map[j+1] = (char*) malloc(sizeof(char));
map[j+1] != NULL;
j++;
}
if(checker(map,city2[i])==1){
map = realloc(map, sizeof(char*)*(j));
map[j] = (char*) malloc(sizeof(char));
map[j+1] = (char*) malloc(sizeof(char));
strcpy(map[j], city2[i]);
map[j+1] = NULL; j++;
}
}
不要强制'malloc'的返回值:http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc – wap26
“我在我的代码中遇到了一些问题”你会告诉我们问题是什么,或者让我们猜测? – cdarke
当你去看医生时,你只是说“哎呀!”? – Jens