【发布时间】:2013-03-09 03:24:07
【问题描述】:
我需要一些有关 strcmp 函数的帮助。我正在尝试将 const char 单词与 char 数组进行比较。但无论出于何种原因,strcmp 都没有比较这两种类型。这就是我所拥有的:
typedef struct Node {
char word[LENGTH+1];
struct Node *Next;
}
Node;
for (NodePointer=hashtable->table[hashval];NodePointer !=NULL;NodePointer=NodePointer->Next)
{
i=0;
i=strcmp(word,NodePointer->word);
if (i==0)
return true;
}
return false;
}
有人知道可能是什么问题吗?我是否应该事先将每个 null 终止?
【问题讨论】:
-
strcmp依靠终止空字符来表示字符串的结尾,因此如果您的字符串中的一个不以空字符结尾,那么您肯定会遇到问题。跨度> -
我们可能需要的不止这些,但是是的,您应该 nul 终止您传递给 strcmp 的任何内容。
-
好吧,我保证
strcmp可以处理 有效 输入,所以.. -
好的,这完全是一个愚蠢的问题,但我如何在结构中终止数组?
-
添加分配
word的行
标签: c linked-list strcmp