在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

关于C++的问题 望解释


  • 编写一个求字符串长度的函数strlen(),再用strlen()函数编写一个函数revers(s)的倒序递归程序,使字符串s逆序。
在编写revers时   初学C++望各位大神可以详细解释解释 谢谢
int strlen(char *str)
{  
  int len = 0;   
  while(str[len] != '\0')
    {        
       len++;   
     }      
return len;
}




void revers(char *str)
{   
     char c;    int loc, len;   
      len = strlen(str);   
      loc = len / 2 - 1;             //这里为什么要除以2-1
      while(loc >= 0)
     {   c = *(str + loc);         
         *(str + loc) = *(str + len - loc - 1);       //这里的意思是?
         *(str + len - loc - 1) = c;         
           loc--;      
      }      
str[len] = '\0';
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

除以二减一是定位到字符串的中间位置左边的字符,如abcde,5/2-1等于1也就是b这个字符。然后5-1-1等于3也就是d这个字符,然后交换b和d,然后同理交换a和e,因为中间字符不管正序还是反序,位置始终不变所以用它的下标为准来达到交换它的左右字符从而达到反序的目的

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册