C和指针之反转字符串

1、问题

把参数字符串中字符反向排序,请使用指针而不是数组下标,不要使用任何C函数库中

2、实现

#include <stdio.h>
#include <stdlib.h>
/**
 *
 *函数把参数字符串中字符反向排序,请使用指针而不是数组下标,不要使用任何C函数库中
 *用于操作字符串的函数.
 */
void reverse_string(char *string)
{
    if (string == NULL)
       return;
    int i = 0, length = 0;
    char tmp;
    while (*(string + length) != '\0')
    {
        ++length;
    }
    printf("length is %d\n", length);
    --length;
     while (i <= length)
    {
        tmp = *(string + i);
        *(string + i) = *(string + length);
        *(string + length) = tmp;
        ++i;
        --length;
    }
    return;
}

int main()
{
   char string[10] = "uynehc";
   reverse_string(string);
   printf("string is %s\n", string);
}

3、结果

string is chenyu

(0)

相关推荐