weixin_66658457 2022-07-19 22:27
浏览 18
已结题

邻接表到输入两顶点的时后直接就退出了

代码运行不到输入两个顶点的时候就结束了
#include<stdio.h>

#include<stdlib.h>
#define MAX_SIZE 100
typedef char MapType;
typedef struct EdgeNode
{
int adjvex;
MapType info;
struct EdgeNode* next;
}EdgeNode;
typedef struct MapHat
{
MapType data;
struct EdgeNode* firstchild;
}AdjList[MAX_SIZE], MapHat;
typedef struct
{
AdjList adjList;
int numEdge, numNodes;
}GraphAdjList;
void CreatALGraph(GraphAdjList* G);
void CreatALGraph(GraphAdjList* G)
{
printf("请输入边数和端点数\n");
scanf("%d %d", &(G->numEdge), &(G->numNodes));
printf("请输入端点\n");
for (int i = 0; i < G->numNodes; i++)
{
scanf("%c ", &((G->adjList[i]).data));
G->adjList[i].firstchild = NULL;
}
EdgeNode* e;
printf("请输入有连线两点\n");
for (int k = 0; k < G->numEdge; k++)
{
int h, j;
scanf("%d %d", &h, &j);
e = (EdgeNode*)malloc(sizeof(EdgeNode));
e->adjvex = h;
e->next = G->adjList[j].firstchild;
G->adjList[j].firstchild = e;
e = (EdgeNode*)malloc(sizeof(EdgeNode));
e->adjvex = j;
e->next = G->adjList[h].firstchild;
G->adjList[h].firstchild = e;
}
}
int main()
{
GraphAdjList M;
CreatALGraph(&M);
return 0;
}

到请输入有连线两点的时候直接没了
我调试可以进printf("请输入有连线两点\n");下面的for循环,但是输不了数据
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月27日
    • 创建了问题 7月19日

    悬赏问题

    • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
    • ¥500 把面具戴到人脸上,请大家贡献智慧
    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
    • ¥30 c#打开word开启修订并实时显示批注
    • ¥15 如何解决ldsc的这条报错/index error
    • ¥15 VS2022+WDK驱动开发环境
    • ¥30 关于#java#的问题,请各位专家解答!
    • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
    • ¥20 pcf8563时钟芯片不启振