回 帖 发 新 帖 刷新版面

主题:[讨论]用字符串保存汉语的问题

我定义了几个结构体

typedef struct VexBox{
    char name[CHNUM];
    EBox *firstedge;    //指向第一条依附该顶点的边
}VexBox;

typedef struct {
    VexBox adjmulist[MAX_VERTEX_NUM];
    int vexnum, edgenum;    //无向图的当前顶点数和边数
}AMLGraph;  

运行程序时,我向 adjmulist[MAX_VERTEX_NUM].name 中输入汉字,但用gdb调试时发现name中保存的是刚才输入的汉字和一堆无意义的数据,请问该如何做才能保证输入汉字后name中保存的是汉字的字符串而其余的位都是'\0'?

回复列表 (共3个回复)

沙发

字符串尾部\0之后的部分应该是未初始化的,你可以选择输入前对name自己写循环填上一堆\0

板凳

汉字是不是以二维数组的形式保存的?

3 楼

汉字跟二维数组有啥关系,只不过是一个汉字需要用两个char来存而已

我来回复

您尚未登录,请登录后再回复。点此登录或注册