だから、私は自分のクラスの地図を作ろうとしています.「NewYork----250km------LosAngeles」のような道をたどるかどうかを確認するためにネストされたループを実装しようと練習していました. NewYork を以前の都市名として、LosAngeles を次の都市名として指定できます。距離は250km。都市名、道路、都市のメモリを取得していますが、「next_city」の部分をキーボードから入力した後、segfault が発生します。誰かが私が間違っていることを助けてくれますか?
typedef struct road road;
typedef struct city city;
struct city{
int visited;
int distance;
int path;
char *city_name;
};
struct road{
int km;
struct city *next_city, *previous_city;
};
int main()
{
char *a=malloc(sizeof(char)*10);
char *b=malloc(sizeof(char)*10);
city *NewYork = malloc(sizeof(city));
NewYork->city_name = fgets(a,10,stdin); //this gives no error
road *ROAD = malloc(sizeof(road));
city *next_city = malloc(sizeof(city)); //to see if I can get a memory for LosAngeles
ROAD->next_city->city_name = fgets(b,10,stdin); //but here it gives a segfault after I type the name to terminal..
}