当我曾经在写一个strlen的实现时,用递归写出了如下的代码:

int strlen(const char *s)
{
    if(*s=='\0')
        return 0;
   else
        return strlen(s++)+1;
}

程序一运行就崩溃了,why!都是s++惹的或!原因在于s++,s指针还没有+1时就去调用strlen,如此循环,s指向的始终

是首字符,形成了无穷递归,改成strlen(++s)就好了。

 

相关文章:

  • 2021-06-19
  • 2021-04-08
  • 2021-11-24
  • 2022-01-01
  • 2021-09-08
猜你喜欢
  • 2022-12-23
  • 2021-04-11
  • 2021-09-10
  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
  • 2021-10-20
相关资源
相似解决方案