首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

图的定义异常

2012-03-11 
图的定义错误?//图的邻接矩阵存储结构typedefstruct{char*vexs//顶点向量intarcs[MAX_VEX][MAX_VEX]//邻

图的定义错误?
//图的邻接矩阵存储结构
typedef   struct{
    char   *vexs;   //顶点向量
    int   arcs[MAX_VEX][MAX_VEX];   //邻接矩阵
    int   vexnum,arcnum;   //图的当前顶点数和弧数
}Graph;
//省略N行
G.vexs=(char   *)malloc(G.vexnum*sizeof(char));   //分配顶点数目
    printf( "输入%d个顶点.\n ",G.vexnum);
    for(i=0;i <G.vexnum;i++){   //初始化顶点
        printf( "输入顶点%d: ",i);
        scanf( "%c ",&G.vexs[i]);       //问题在这里!这一行是正确的,但是怎样改成
        temp=getchar();   //接收回车//在程序里直接输入顶点信息呢?(比如顶点信息
                                                            //是城市名称)
如果改成G.vexs[0]= "北京 ",会出现
error   C2440:   '= '   :   cannot   convert   from   'char   [5] '   to   'char '
                This   conversion   requires   a   reinterpret_cast,   a   C-style   cast   or   function-style   cast
的错误.如果改成&G.vexs[0]= "北京 ",会出现
error   C2106:   '= '   :   left   operand   must   be   l-value
的错误.求高手指点一下~!

[解决办法]
同学,字符串赋值要用strcpy
[解决办法]
同意ls
[解决办法]
scanf( "%c ",&G.vexs[i]);
scanf( "%s.....);//这样是读一个字符串
字符串赋值 strcpy,strncpy。。。
memcpy也行

热点排行