以下是我遇到的问题:
我能够回显设置的最后一个变量,而不是之前的变量 所以,如果x =欢迎,我回复$ x ...我得到欢迎。 但是,如果我做xx = Back ...它会删除原来的x
答案 0 :(得分:0)
您将指针存储在表中,但指针指向一个只需重复使用的局部变量...您将覆盖表中指向的键和值。
在Node结构中,复制指针指向的内容,以便保留一个不会被覆盖的副本。
由于您正在处理字符串,因此解决此问题的一种简单方法是替换(在Table_add中):
p->key = key;
p->value = value;
与
p->key = strdup(key);
p->value = strdup(value);
但是如果你这样做,你需要确保在释放节点之前free()
这两个值。