【发布时间】:2016-01-26 01:56:18
【问题描述】:
我正在开发一个搜索功能来搜索链接列表中的特定值。当它找到该值时,我想输出它的位置。我似乎无法通过第一个节点而不会出错。我认为循环有问题,但我不确定是什么。
int NumberList::search(double num)
{
ListNode *nodePtr;
nodePtr=head;
int i=0;
while (nodePtr->value!= NULL)
{
i=i+1;
if (nodePtr->value==num)
return i;
else
nodePtr=nodePtr->next;
}
return 0;
}
【问题讨论】:
-
如果
nodePtr是NULL怎么办?! -
你应该说出你遇到了什么错误
-
请在此处询问此类错误诊断时发minimal reproducible example。否则你的问题就跑题了。
-
永远不要使用
==和!=来比较浮点数。 cygnus-software.com/papers/comparingfloats/comparingfloats.htm