valgrind에서 다음 오류가 발생합니다. 조건부 점프 또는 이동은 초기화되지 않은 값에 따라 다릅니다. 나는 비슷한 질문을 둘러 보았지만 잘못된 점을 발견 할 수는 없다. 모든 변수를 초기화했지만 여전히 ..조건부 점프 또는 이동은 고유 값에 따라 다릅니다.
unsigned long hash_word(const char *str)
{
unsigned long hash = 5381;
int c = 0;
while((c = *str)) // The error occurs here
{
hash = ((hash<<5) + hash) + c;
str++;
}
return hash%1999099;
}
str 값은 main 함수에서 전달됩니다. 누출 검사 = 전체 검사 및 추적 검사 = 예를 사용하고 있습니다. 도움에 미리 감사드립니다.
먼저 노드를 초기화하고 있습니다.
typedef struct node{
char word[46];
struct node *next;
} node;
호출 코드는이 feof()
가하는 일에서 빚어진 혼란을 보이는
while(!(feof(fp)))
{
node *n = malloc(sizeof(node));
if (n == NULL)
{
return false;
}
else
{
fscanf(fp,"%s",n->word);
index = hash_word(n->word);
.
.
. // further code
}
'str '은 어떻게 구할 수 있습니까? 우리에게 발신자 코드를 보여주십시오. – cnicutar