首页 > 编程语言 > 详细

C++笔试题库-------Coding整理

时间:2015-01-17 16:31:22      阅读:296      评论:0      收藏:0      [点我收藏+]

1. 反转字符串

char* strrev1(const char* str)
{
    int len = strlen(str);
    char *temp = new char[len + 1];
    char *p = temp + len;
    *p = \0;
    p--;

    while(*str != \0)
    {
        *p-- = *str++;
    }
    p = NULL;
    return temp;
}

2. 实现strcmp,对比两个字符串,相同返回0,前者大于后者返回正数,反之,返回负数

  首先,函数原型得写正确:int strcmp(char *source, char *dest)

int strcmp(char *source, char *dest)
{
 
    int ret = 0;   
    while(!(ret = *(unsigned char *)source  - *(unsigned char *)dest) && *dest)   
    {
        ++source;
        ++dest;   
    }
    
    if(ret < 0)
        ret =  -1;   
    else if(ret > 0)   
        ret = 1;   
    
    return ret;   
}

 

C++笔试题库-------Coding整理

原文:http://www.cnblogs.com/wiessharling/p/4230567.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!