+ -
当前位置:首页 → 问答吧 → 三种或者更多strlen()函数

三种或者更多strlen()函数

时间:2010-08-21

来源:互联网

关于库函数strlen(),我目前有两种实现方法:
  1. #include<iostream>
  2. int aStrlen(const char* str);
  3. int cStrlen(const char* str);
  4. int main()
  5. {
  6.         const char* s="A maiden dancing in the misty dell.\n";
  7.         std::cout<<s<<aStrlen(s)<<std::endl;
  8.         std::cout<<s<<cStrlen(s)<<std::endl;
  9.         return 0;
  10. }
  11. int aStrlen(const char* str)  //标准版,四行
  12. {
  13.         if(!str)
  14.                 exit(1);
  15.         int i=0;
  16.         while(str[i++]);
  17.         return --i;
  18. }
  19. int cStrlen(const char* str)//精简版,三行
  20. {
  21.         if(!str)
  22.                 exit(1);
  23.         if('\0'==*str)
  24.                 return 0;
  25.         else
  26.                 return 1+cStrlen(++str);
  27. }
复制代码
大家有无更精简或者诡异的拿来玩玩啊?

作者: subuam   发布时间: 2010-08-21

要写诡异的,C这种灵活的语言肯定有很多,关键是有没有新意。

作者: davelv   发布时间: 2010-08-21

囧,关于strlen的讨论很泛滥的说……

作者: daybreakcx   发布时间: 2010-08-21