分享

作用是把一个char组成的字符串循环右移n个

 已矣 2013-09-09
  1. #include <iostream>
  2. #include <assert.h>
  3. using namespace std;
  4. //编写一个函数,作用是把一个char组成的字符串循环右移n个
  5. //调用strcpy函数方式实现
  6. void LoopMove1(char *pStr,int steps){
  7. assert(pStr!=NULL);
  8. char tmp[20];
  9. int n=strlen(pStr)-steps;
  10. strcpy(tmp,pStr+n);
  11. strcpy(tmp+steps,pStr);
  12. *(tmp+strlen(pStr))='\0';
  13. strcpy(pStr,tmp);
  14. }
  15. //调用memcpy函数方式实现
  16. void LoopMove2(char *pStr,int steps){
  17. assert(pStr!=NULL);
  18. char tmp[20];
  19. int n=strlen(pStr)-steps;
  20. memcpy(tmp,pStr+n,steps);
  21. memcpy(tmp+steps,pStr,n);
  22. memcpy(pStr,tmp,strlen(pStr));
  23. }
  24. void main(){
  25. char a[]="abcdfemuc";
  26. LoopMove1(a,2);
  27. LoopMove2(a,3);
  28. cout<<a<<endl;
  29. system("pause");
  30. }

剖析:
这个试题主要考查面试者对标准库函数的熟练程度,在需要的时候引用库函数可以很大
程度上简化程序编写的工作量。
最频繁被使用的库函数包括:
(1) strcpy
(2) memcpy
(3) memset

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多