not all control paths return a value 这个警告如何解决?

[复制链接]
23000|3
 楼主| 练就大毅力 发表于 2010-11-12 18:28 | 显示全部楼层 |阅读模式
not all control paths return a value 这个警告如何解决?这个警告出现的原因是什么?

  1. //定位操作
  2. //按内容查找并返回结点的序号的函数称做定位函数
  3. int LocatePos(LinkList head,DataType e)
  4. {
  5. ListNode *p;
  6. int pos;
  7. if(ListEmpty(head))
  8. {
  9.   return 0;
  10. }
  11. p=head->next;
  12. pos=1;
  13. while(p)
  14. {
  15.   if(p->data==e)
  16.   {
  17.    return pos;
  18.   }
  19.   else
  20.   {
  21.    p=p->next;
  22.    pos++;
  23.   }
  24. }
  25. if(!p)
  26. {
  27.   return 0;
  28. }
  29. }



在程序中加入这么一段子程序后,就会出现not all control paths return a value 这个警告..为什么会出现呢??我反复看了半天,觉的这代码没问题呀?
 楼主| 练就大毅力 发表于 2010-11-12 18:36 | 显示全部楼层
晕!
原来是这里,, if(!p) 如果测试不通过。。这个循环的后面还需要加个return 语句。
wangyy608 发表于 2010-11-12 18:49 | 显示全部楼层
看字面上的意思就知道了
ayb_ice 发表于 2010-11-12 19:01 | 显示全部楼层
有时没有返回值,可能造成潜在错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我爸不是李刚、不要欺负我、

0

主题

107

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部