分享

【笔试】字符串常见笔试题

 ID被吃 2016-03-29

1 将字符串转化为整数。

long stringToInt(char *s){         long result=0;         for(int i=0;s[i]!='\0';i++)         {                    if(int(s[i])<48||int(s[i])>57)                      {//除去非数字                                      continue;                       }                     result=result*10+(s[i]-'0');          }         return result;}

2将整数转化为字符串。(考虑正负号的问题)

void itoa (int n,char s[]){     int i,j,sign;     if((sign=n)<0) 记录符号=""  =""  ="" n="-n;//使n成为正数"  =""  i="0;"  =""  do{=""  =""  =""  =""  ="" s[i++]="n+’0’;//取下一个数字"  =""  }while="" ((n/="10)">0);//删除该数字      if(sign<0)  =""  =""  =""  =""  ="" s[i++]="’-’;"  =""  =""  ="" s[i]="’\0’;"  =""  ="" for(j="i;j">=0;j--)//生成的数字是逆序的,所以要逆序输出       printf('%c',s[j]);}

3 实现字符串拷贝函数strcpy。(程序的完整性)

char * strcpy(char * strDest,const char * strSrc){if ((strDest==NULL)||(strSrc==NULL)) throw 'Invalid argument(s)'; char * strDestCopy=strDest; while ((*strDest++=*strSrc++)!='\0'); return strDestCopy;}

4 编程实现memcpy函数。(以字节为单位的拷贝)

void* mymemcpy(void* dest, void* source, size_t count){    char *ret = (char *)dest;    char *dest_t = ret;    char *source_t = (char *)source;    while (count--)    {         *dest_t++ = *source_t++;    }    return ret;}

5 编程实现memmove函数。

void* memmove(void* dest, void* source, size_t count)(考虑了指针地址重合的情况)   {       void* ret = dest;      if (dest <= source="" ||="" dest="">= (source + count))       {          //Non-Overlapping Buffers         //copy from lower addresses to higher addresses         while (count --)               *dest++ = *source++;     }     else     {        //Overlapping Buffers       //copy from higher addresses to lower addresses       dest += count - 1;       source += count - 1;       while (count--)                *dest-- = *source--;l     }      return ret;   }

同memcpy一样,在写的实际过程中我们始终以字节为单位进行相关的拷贝。

6写一个函数,目的是把char组成的字符串循环右移n位。比如,“abcde”,移动两位变为“deabc”.

编程实现:提示 strcpy函数,或者memcpy函数。

全文见原文。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多