不使用其他变量实现字符串倒序拷贝

看CSDN上有人讨论面试题,其中一题,自己动手也了一下

#include <stdio.h>

#define ASSERT(x) if((x)) return ;

void strcpy(char* des, char* src)
{
      ASSERT(!des || !src || !(*src));
      *des = '\0';
      des ++; src ++;
      while(*src != '\0')
            *(des ++) = *(src ++);
      *des = '\0';
      src --;
      des --;
      while(*des != '\0')
            des --;
      *des = '0';
      while(*des != '\0')
            *(des ++) = *(src --);
}
int main(int argc, char* argv[])
{
      char src[] = {"abcdefg"};
      char des[20] = {0};
      strcpy(des, src);
      printf("src:%s, des:%s", src, des);
      return 0;
}

  

原文地址:https://www.cnblogs.com/ourroad/p/3078856.html