C语言面试大汇总之华为面试题6.docVIP

  • 2
  • 0
  • 约1.81万字
  • 约 6页
  • 2016-12-25 发布于河南
  • 举报
试题5:编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”   函数头是这样的: //pStr是指向以结尾的字符串的指针 //steps是要求移动的n void LoopMove ( char * pStr, int steps ) {  //请填充... }   解答:   正确解答1: void LoopMove ( char *pStr, int steps ) {  int n = strlen( pStr ) - steps;  char tmp[MAX_LEN];  strcpy ( tmp, pStr + n );  strcpy ( tmp + steps, pStr);  *( tmp + strlen ( pStr ) ) = ;  strcpy( pStr, tmp ); }   正确解答2: void LoopMove ( char *pStr, int steps ) {  int n = strlen( pStr ) - steps;  char tmp[MAX_LEN];  memcpy( tmp, pStr + n, steps );  memcpy(pStr + steps, pStr, n );  memcpy(pStr, tmp, steps

文档评论(0)

1亿VIP精品文档

相关文档