[开心IT字符串] 反转字符串

题目:

   用C语言实现反转字符串strrev()函数。

 

思想:

   循环,依次将第一个字符和最后一个字符交换,第二个字符和倒数第二个字符交换…(终止符“\0”不动)

   面试提问字符串的操作,主要是考察几点:一对指针和字符串的理解,二是是否进行合法性检查,三是返回值是否是恰当。

 

代码:

char *ReverseString(char *string)
{
    if((string == NULL) || (left == right))
    {
        return string;
    }
    char ch;
    //计算字符串长度
    int strLen = StringLength(string);
    //标记要反转的左边位置
    int i = 0;
    //标记要反转的右边位置
    int j = strLen-1;
    while(i < j)
    {
        ch = string[i];
        string[i] = string[j];
        string[j] = ch;
        i++;
        j--;
    }
    return string;
}

注:代码中所用到的求字符串长度的StringLength()函数请看“求字符串长度

[开心IT字符串] 反转字符串

上一篇:ZSL (zero shutter lag)


下一篇:自定义控件(商品属性选择)