读书人

图的定义异常

发布时间: 2012-03-11 18:15:38 作者: rapoo

图的定义错误?
//图的邻接矩阵存储结构
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也行

读书人网 >C++

热点推荐