2 u010559765 u010559765 于 2014.07.25 11:03 提问

g_hash_table_insert函数无法正确插入

如题:g_hash_table_insert函数在循环中时,把循环变量作为键的时候无法正确插入,例子是插入10值结果只得到八个。
#include
#include
#include
#include
int main(int argc, char** argv) {
int a,b,c,d;
b=2;
char outbuf[100]="Columbus";
int i=0;
GHashTable* hash = g_hash_table_new(g_int_hash, g_int_equal);
for(i=0;i<10;i++){
g_hash_table_insert(hash, &i,outbuf);
}
g_printf("There are %d keys in the hash\n", g_hash_table_size(hash));
for(i=0;i<10;i++){
g_printf("The %d is %s\n",i, g_hash_table_lookup(hash, &i));
}
g_printf("The 2 is %s\n", g_hash_table_lookup(hash, &b));
g_hash_table_destroy(hash);
return 0;
}

输出的结果是:
There are 8 keys in the hash
The 0 is Columbus
The 1 is Columbus
The 2 is Columbus
The 3 is Columbus
The 4 is Columbus
The 5 is Columbus
The 6 is Columbus
The 7 is Columbus
The 8 is Columbus
The 9 is Columbus
The 2 is (null)

为什么输出的数量是8呢,还有就是第二次查找键为2的值的时候为什么是null而在第一次却有值?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
glib库hash表GHashTable介绍
hash表是一种提供key-value访问的数据结构,通过指定的key值可以快速的访问到与它相关联的value值。hash表的一种典型用法就是字典,通过单词的首字母能够快速的找到单词。关于hash表的详细介绍请查阅数据结构的相关书籍,我这里只介绍glib库中hash表的基本用法。要使用一个hash表首先必须创建它,glib库里有两个函数可以用于创建hash表,分别是g_hash_table_new
ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法
ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法ADS中关于sprintf()函数无法正确显示浮点数问题的解决办法
glib中hash table
Glib是一个C语言编写的库,它本身是Gnome的一个部分,后来Glib剥离出来,它为Gnome提供了一些操作字符串和常用数据结构的工具函数。这些好的工具函数既然可以提供给gnome,使用,自然也可以提供给我们使用。(靠,这逻辑,怎么这么像 和尚摸的,我自然也摸的,晕死啊)。最近看到我们老大用了Glib的hash表,在工期紧急的情况下解决了一个功能扩展的问题,所以我也就动了玩玩Glib的心思。
JS 测验
JS 测验 结果:18/20 您的回答: 1.我们可以在下列哪个 HTML 元素中放置 Javascript 代码? 您的回答: 2.写 "Hello World" 的正确 Javascript 语法是? 您的回答:document.write("Hello World") 3.插入 Javacript 的正确位置是? 您的回答: 部分 正确答案: 部分和 部分均可 4.引
解决office 或WPS 插入对象错误 补丁
解决插入对象错误,无法创建对象,该文件可能正在被使用,请关闭文件,重新尝试插入对象。的问题。
Glib实例学习(3)哈希表
http://blog.chinaunix.net/uid-25696269-id-752935.html 1:哈希表原型 GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equa
Windows10 PowerShell Python 调试
Windows10 PowerShell下的Python: Notepad++6.9.2/Windows powershell/Python3.5.2(Print参数发生变化,后更改为Python2.7.12 ------------------Error Logs-------------------------------------------------------------
使用vsc写node遇到缺少 对象
描述 node.js : 无法将“node.js”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + node.js + ~~~~~~~ + CategoryInfo : ObjectNotFound: (node.js:String) [], CommandNo...
经典问题----url路径加载不正确导致图片不显示
运行文档是图片的上一级时可直接写出区别路径 运行文档和图片同级时要加前缀 加前缀后显示图片
Excel中,公式正确显示,却有时候识别不了公式,计算不出结果
在Excel中,有时候公式正确,但是计算不出结果,可能由于Excel不能将文本框中的内容识别为公式导致的。 可以在公式的参数里面加入英文空格,然后再将空格删除,按回车,这样可以解决。 如下面公式:=COUNTA(表示!A:A)-1 表示是一个工作表,按回车后,一直计算不出结果,可以在“表示”前面加入英文空格,然后再将其删除,再按回车。