图遍历的程序有问题。
程序代码:#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
#define MAX_VERTEX_NUM 20
typedef int VertexType;
typedef struct ArcNode
{
int adjvex;
struct ArcNode *nextarc;
}ArcNode;
typedef struct Vnode
{
VertexType data;
ArcNode *firstarc;
}VNode,AdjList[MAX_VERTEX_NUM];
int n;
typedef enum{FALSE=0,TURE=1} boolean;
boolean visited[MAX_VERTEX_NUM];
//以上是结构体的定义。
void creat(AdjList *g)
{
ArcNode *p,*q;
int m,s,d,i;
printf("请输入定点和边数");
scanf("%d,%d",&n,&m);
for(i=1;i<=n;i++)
{
g[i].data=i; //出问题的就是这里 提示 request for member 'data'in '*(g++(i*160))',which is of non_aggregate type vnode[20]
g[i].firstarc=NULL;
}
for(i=1;i<=m;i++)
{
printf("第%d条边的起始顶点编号和终止顶点编号");
scanf("%d,%d",&s,&d);
while(s<1||s>n||d<1||d>n)
{
printf("error,aganin");
scanf("%d,%d",&s,&d);
}
p=malloc(sizeof(ArcNode));
p->adjvex=d;
p->nextarc=NULL;
if(!g[s].firstarc)
{
g[s].firstarc=p;
}
else
{
q=g[s].firstarc;
while(q->nextarc)
q=q->nextarc;
q->nextarc=p;
}
}
}求解阿求解!!!!!!!








还没改出来!