|
发表于 2023-4-18 17:33:40
|
显示全部楼层
这个错误是因为结构体里的name成员应该是一个字符数组类型,而非一个字符类型。
我们可以将VertexType重新定义如下:
#define MAX_NAME_LEN 20 // 假设最大名字长度为20
typedef struct _vertex{
char name[MAX_NAME_LEN];
} VertexType;
然后在代码中修改`Creat_UnALGraph_UnWeighted`函数中的读取name的部分:
void Creat_UnALGraph_UnWeighted(ALGraph* G){
printf("请输入边数和顶点数\n");
getchar();
scanf("%d",&G -> vertices);
scanf("%d",&G -> edges);
for(int i = 0; i < G->vertices; ++i) {
printf("请输入第 %d 个顶点的名字\n", i+1);
getchar();
scanf("%s", G->vertex[i].name);
G->vertex[i].first = NULL;
}
}
这样就可以正确读取每个顶点的名字了。 |
|