读书人

字符串赋值有关问题

发布时间: 2013-01-04 10:04:17 作者: rapoo

字符串赋值问题
字符串赋值有关问题
字符串赋值有关问题

为什么在main函数里面最后一个for循环输入ht的other数据时,全部都未赋值成功呢?
这是运行结果
字符串赋值有关问题
[解决办法]
你在程序中并没级other这个成员分配空间,只是单纯通过ht[h].other = b; 把一个地址赋给它,让它跟b指向同一个地方而已,所以的程序的所有的由b初始化的other其实都是同一个东西,也就是最后一次b地址的内容(b=a,也就是a的内容),而你最后是通过a输入一个‘0’来结束程序的,所以所有的other就是看到的 0 了(这个程序中97 98 后面那两个0是a的内容0,其他是你刚开始初始化的0)。 。。
改正:写 个初始化,给每个other分配空间,给它赋值的时候把内容复制给它,而不是把地址赋给other

另外还有一个问题 if (ht[h].key == NULLKEY) ; 这个要把NULLKEY改成-1,因为如果有经过计算有的值的hash值可以是0 的,例如 11 的倍数, 你会把它给覆盖掉的。

其他问题,就没细看了。。。

读书人网 >C语言

热点推荐