希望高手指教,看看错在哪里
#include<stdio.h>
#define max_vertex_num 20
typedef int adymatrix[max_vertex_num][max_vertex_num];
//邻接矩阵类型
typedef struct{
    char vexs[max_vertex_num];    //顶点表,顶点的名字
    adymatrix arcs;        //邻接矩阵
    int vexnum,arcnum;    //图的顶点数和弧数
}mgraph,*pointG;
//定位顶点,有则输出对应的位置,无则报错
int locatevex(pointG g,char u)
{
    int i;
    for(i=0;i<g->vexnum;i++)
    {if(u==g->vexs[i]) return i;}
    if(i==g->vexnum)    printf("Error u!\n");
}
void createmgraph(pointG g)
{
    int i,j,k,w;    char v1,v2;
    printf("Input vexnum:");        //输入顶点数
    scanf("%d",&g->vexnum);
    printf("Input arcnum:");        //输入弧度数
    scanf("%d",&g->arcnum);
    printf("Input Vertices:");    //输入顶点名字,第一个位置为0,第二个位置为1,以此类推
    scanf("%s",g->vexs);    
    for(i=0;i<(g->vexnum);i++)      //矩阵初始化,为0
    {    
        for(j=0;j<g->vexnum;j++)    g->arcs[i][j]=0;
    }
    for(k=0;k<g->vexnum;k++)        //给有弧的赋值为1,但是,就是这里出现问题了,帮忙看看到底怎么了
    {   
        printf("Input Arcs(v1,v2 & w):\n");        
        scanf("%c,%c,%d ",&v1,&v2,&w);//注意这里多了一个空格
        i=locatevex(g,v1);
        j=locatevex(g,v2);
        g->arcs[i][j]=w;
         //G.arcs[j][i]=w;
        printf("%d,%d,%d\n",i,j,w);//显示,从这里能看出些不对劲
    }
}
//输出矩阵
void PrintMGraph(pointG g)
{    
    int i,j;
    printf("Output Vertices:");
    printf("%s",g->vexs); printf("\n");
    printf("Output AdjMatrix:\n");
    for(i=0;i<g->vexnum;i++)
    {  
        for(j=0;j<g->vexnum;j++)    printf("%4d",g->arcs[i][j]);
        printf("\n");
    }
}
main()
{
    mgraph g;    pointG graph;
    graph=&g;
    createmgraph(graph);
    PrintMGraph(graph);
}



											
	    

	